if (!(file_exists(http://mysite.com/images/thumbnail_1286954822.jpg))) {
$filefound = '0';
}
なぜこれが機能しないのですか?
if (!file_exists('http://mysite.com/images/thumbnail_1286954822.jpg')) {
$filefound = '0';
}
関数は文字列を予期しています。
file_exists()
は、HTTP URLでは正しく機能しません。
file_exists指定したパスにファイルが存在するかどうかを確認します。
構文:
file_exists ( string $filename )
Filenameで指定されたファイルまたはディレクトリが存在する場合、TRUE
を返します。それ以外の場合はFALSE
。
$filename = BASE_DIR."images/a/test.jpg";
if (file_exists($filename)){
echo "File exist.";
}else{
echo "File does not exist.";
}
Getimagesize()を使用できる別の代替方法は、指定されたパスでファイル/ディレクトリが利用できない場合、0(zero))を返します。
if (@getimagesize($filename)) {...}
Haimへのコメントに基づいて、これは自分のサーバー上のファイルですか?その場合、URLではなくファイルシステムパスを使用する必要があります(例:file_exists( '/path/to/images/thumbnail.jpg' )
)。
私にとっても、file_exists()関数は正しく機能していません。だから私はこの代替ソリューションを得ました。これが誰かを助けることを願っています
$path = 'http://localhost/admin/public/upload/video_thumbnail/thumbnail_1564385519_0.png';
if (@GetImageSize($path)) {
echo 'File exits';
} else {
echo "File doesn't exits";
}