检查php中是否存在文件

时间:2010-11-23 06:55:02

标签: php file-exists

if (!(file_exists(http://mysite.com/images/thumbnail_1286954822.jpg))) {   
$filefound = '0';                         
}

为什么这不起作用?

6 个答案:

答案 0 :(得分:48)

if (!file_exists('http://mysite.com/images/thumbnail_1286954822.jpg')) {   
$filefound = '0';                         
}

答案 1 :(得分:29)

  1. 该函数需要一个字符串。

  2. file_exists()无法正常使用HTTP网址。

答案 2 :(得分:10)

file_exists 检查指定路径中是​​否存在文件。

语法:

file_exists ( string $filename )

如果filename指定的文件或目录存在,则返回TRUE;否则FALSE

$filename = BASE_DIR."images/a/test.jpg";
if (file_exists($filename)){
    echo "File exist.";
}else{
    echo "File does not exist.";
}

另一种可以使用getimagesize()的替代方法,如果文件/目录在指定路径中不可用,它将返回0(零)。

if (@getimagesize($filename)) {...}

答案 3 :(得分:5)

根据您对Haim的评论,这是您自己服务器上的文件吗?如果是这样,您需要使用文件系统路径,而不是URL(例如file_exists( '/path/to/images/thumbnail.jpg' ))。

答案 4 :(得分:0)

对我来说,file_exists()函数也无法正常工作。所以我得到了这个替代解决方案。希望这能帮助到某人

$path = 'http://localhost/admin/public/upload/video_thumbnail/thumbnail_1564385519_0.png';

    if (@GetImageSize($path)) {
        echo 'File exits';
    } else {
        echo "File doesn't exits";
    }

答案 5 :(得分:0)

您还可以使用PHP get_headers()功能。

示例:

function check_file_exists_here($url){
   $result=get_headers($url);
   return stripos($result[0],"200 OK")?true:false; //check if $result[0] has 200 OK
}

if(check_file_exists_here("http://www.mywebsite.com/file.pdf"))
   echo "This file exists";
else
   echo "This file does not exist";