PHP文件是否存在

时间:2013-02-25 18:40:10

标签: php

这是我的代码。

$filename = "$myMedia catalog/category/ $myImage.png";
$filename = str_replace(" ", "", $filename);

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

variable以上输出http://50.87.6.244/~storeupp/media/catalog/category/Game_Used.png确实存在。但是,它说它不存在。

知道为什么吗?

6 个答案:

答案 0 :(得分:5)

试着像这样使用:

 $filename = dirname(__FILE__) . "/ $myMedia catalog/category/ $myImage.png";
 $filename = str_replace(" ", "", $filename);

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

答案 1 :(得分:4)

我不知道,但我认为,如果您将外部网络资源作为资产,则以下代码会更成功:

$filename = $myMedia."catalog/category/".$myImage.".png";
$headers = @get_headers($filename);
$exists = ($file_headers[0] == 'HTTP/1.1 404 Not Found');

答案 2 :(得分:2)

OT:您可以在“{}”括号之间包围变量,而不是使用空格和str_replace(“”,“”,$ filename)。

$filename = "{$myMedia}catalog/category/{$myImage}.png";

答案 3 :(得分:0)

该文件看起来像是在您的Web根目录之外。因此,无法通过网络获得。如果您尝试检查计算机上的本地文件,请改用文件根目录。 (即/path/to/media/catalog/category/Game_Used.png)

答案 4 :(得分:0)

您需要引用文件的路径或您不能使用的目录http://链接

file_exists documentation

答案 5 :(得分:0)

documentation中,它声明file_exists()函数仅适用于PHP 5.0中的一些URL包装。