答えのある同じ質問が少なくとも10あることは知っていますが、どれも完璧に機能していないようです。内部または外部の画像が存在するかどうかを確認しようとしています (画像の URL は有効ですか?)。
fopen($url, 'r')
使用しないと失敗します@fopen()
:Warning: fopen(http://example.com/img.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in file.php on line 21
getimagesize($img)
画像が存在しない場合に失敗します (PHP 5.3.8):Warning: getimagesize() [function.getimagesize]: php_network_getaddresses: getaddrinfo failed
- 一部のサーバーではサポートされていないため、CURL は失敗します (ほとんどどこにでも存在しますが)。
fileExists()
外部 URL では機能せず、画像を扱っているかどうかを確認できない可能性があるため、失敗します。
そのような質問に対する最も一般的な答えである 4 つの方法は間違っています。それを行う正しい方法は何ですか?