5

这是我的代码。

$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确实存在。但是,它说它不存在。

知道为什么吗?

4

6 回答 6

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";
 }
于 2013-02-25T18:45:16.417 回答
4

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

$filename = $myMedia."catalog/category/".$myImage.".png";
$headers = @get_headers($filename);
$exists = ($file_headers[0] == 'HTTP/1.1 404 Not Found');
于 2013-02-25T18:47:22.477 回答
2

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

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

于 2013-12-12T16:02:52.070 回答
0

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

于 2013-02-25T18:41:20.060 回答
0

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

file_exists 文档

于 2013-02-25T18:41:50.250 回答
0

文档中,它指出 file_exists() 函数仅适用于 PHP 5.0 的某些 URL 包装器。

于 2013-02-25T18:42:41.937 回答