誰に次のようなことがないのですか?php奇妙なfile_existsバグ
$file = 'images/thumbs/1%20-%20Copy.jpg';
if(!file_exists($file)){
die('NOT THERE');
}
echo 'Yes its there.';
問題はスペースです。私はファイルが存在していることを確認しました。 :(HTTP経由でのファイルシステムではなく上
ヘルプ
誰に次のようなことがないのですか?php奇妙なfile_existsバグ
$file = 'images/thumbs/1%20-%20Copy.jpg';
if(!file_exists($file)){
die('NOT THERE');
}
echo 'Yes its there.';
問題はスペースです。私はファイルが存在していることを確認しました。 :(HTTP経由でのファイルシステムではなく上
ヘルプ
file_exists
作品そう%20
がスペースとしてではなく、文字通り%20
として認識されません。代わりにスペースを使用します。
$file = 'images/thumbs/1 - Copy.jpg';
...そして完全を期すために、実際の名前で '%20 'を持つファイルのURLは' images%2Fthumbs%2F1%2520-%2520Copy.jpg'となるはずです。 –
@ÁlvaroG. Vicario :むしろ 'images/thumbs/1%2520-%2520Copy.jpg'となります。 – Gumbo
申し訳ありませんが、私は誤ってスラッシュをエンコードしました<:-) –
$file = rawurldecode('images/thumbs/1%20-%20Copy.jpg');
試してみますこれらの2つ
$file = 'images/thumbs/1\ -\ Copy.jpg';
$file = 'images/thumbs/1 - Copy.jpg';
btw大文字と小文字の区別同様に – Val
これは相対パスです。つまり、現在の作業ディレクトリ( 'getcwd()')に対して解決されます。絶対パスもチェックしましたか( 'realpath()')? – KingCrunch