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 ルートの外にあるようです。そのため、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 に答える