如何在PHP中检查文件是否存在于目录中?

时间:2013-12-23 07:39:29

标签: php file pdf filenames file-exists

以下是我的代码段:

<?php
$filename = $test_data['test_name'].".pdf";
//I want to check whether the above file with the same extension(.pdf) is existing in the directory having name say "ABC" is present or not
?>

如果目录“ABC”中没有这样的文件,那么它应该创建相同的文件。 如果文件存在于“ABC”目录中,那么它应该被删除。 我尝试使用file_exists(),但无法理解如何将其用于特定目录。 有人可以指导我这方面吗?任何形式的帮助都将受到高度赞赏。

4 个答案:

答案 0 :(得分:1)

试试这个并希望这会有所帮助。

$file_path  = $_SERVER['DOCUMENT_ROOT']."/MyFolder/";
$file_name  = "abc.pdf";
if( file_exists( $file_path.$file_name ))  
{
    echo "File Exists";
}
else
{
    echo "File not found!!!";
}

答案 1 :(得分:0)

file_exists使用绝对路径来获取文件,因此请使用它:

     $directorypath = dirname(__FILE__) . '/to/your/directory/';
     $filename =  $directorypath  . $test_data['test_name'].".pdf";

     if (file_exists($filename)) {
         echo "The file $filename exists";
         //delete file 
         unlink('$filename');
    } else {
         echo "The file $filename does not exist"; 
    }

检查一下:http://fr.php.net/manual/en/function.file-exists.php

答案 2 :(得分:0)

使用php函数unlink()(删除文件)和file_exists()(检查文件是否存在)的组合。

Like


$filename = "./path to file/".$test_data['test_name'].".pdf";

if (file_exists($filename)) {
    echo "The file $filename exists";
    if(unlink ($filename)){
    echo "deleted";
    }else{
    echo "not delete";
    }
} else {
    $file = fopen($filename,"w");
    fwrite($file,"your content");
    fclose($file);
}

答案 3 :(得分:-1)

功能scandir非常有用。

file_flag=0;
    $input_file=scandir($full_path);
    foreach ($input_file as $input_name){
        if($input_name==$ABC)
                      file_flag=1;
                   else
                     file_flag=0;
                   }
            if (file_flag==1)
               echo "File exists!";
            else
               echo "File not found!";