以下のコードがありますが、間違った値を返しています
if(file_exists("https://strutmymutt.com/file/pic/pages/13822542191645543571_400.jpg"))
{
echo "yes";
}
else
{
echo "no";
}
これについて何か助けはありますか?
サーバーに画像が存在する場合でも、「いいえ」が返されます
ファイルが存在するかどうかを確認するには、ファイル パスを指定する必要があります。URLではありません。ここを見てください:http://php.net/file_exists
i.e.: file_exists('/Users/test/Desktop/1.jpg');
PHP マニュアルによるとfile_exists
、ファイルまたはディレクトリへのパスを指定して、ファイルが存在するかどうかを確認します。
これは、確認する URL を提供することはできず、ローカル ファイル システム上の絶対または相対ファイル パスを提供することを意味します。特定の URL のファイルを確認したい場合は、そのページのコメントに何かがあります。関連するコードは次のとおりです。
$file = 'https://strutmymutt.com/file/pic/pages/13822542191645543571_400.jpg';
$file_headers = @get_headers($file);
if($file_headers[0] === 'HTTP/1.1 404 Not Found') {
echo 'no';
} else {
echo 'yes';
}
file_exists は、URL ではなくローカル ファイルに使用されます。
file_exists は、ローカル ファイルへのアクセスでのみ機能します。代わりに、この方法で実行してください...
$file = "file/pic/pages/13822542191645543571_400.jpg";
if(file_exists($file)) {
echo "yes";
}
else {
echo "no";
}
file_exists
ファイルがローカルに存在するかどうかのみをチェックします。
その画像が存在するかどうかを確認するには、関数を使用してサーバーからの応答を確認する必要があります。