Я знаю, что это старый нить, но, как Ларс Эберт отмечает, проверка поскольку наличие файла на удаленном сервере может быть сложным, поэтому проверка ответа сервера с использованием cURL заключается в том, как я смог сделать это на нашем большом сайте путешествий. Использование file_exists() каждый раз вызывало ошибку, но проверка «200 OK» оказалась весьма успешной. Вот код, который мы используем для проверки изображений для нашей страницы гостиницы списку:
$media_url = curl_init("http://pathto/remote_file.png");
curl_setopt($media_url, CURLOPT_RETURNTRANSFER, true);
$media_img = curl_exec($media_url);
$server_response = curl_getinfo($media_url, CURLINFO_HTTP_CODE);
if($server_response != 200){
echo "pathto/graphics/backup_image.png";
}else{
echo "http://pathto/remote_file.png";
}
Где «http://pathto/remote_file.png» отдаленное изображение мы ищем, но мы должны знать, действительно ли это там. И «pathto/graphics/backup_image.png» - это то, что мы показываем, если удаленное изображение не существует.
Я знаю, что это ужасно многословно, по сравнению с file_exists(), но это также более точно, по крайней мере, до сих пор.
Будет ли это работать с удаленным файлом? –
Да, я использую этот код на своем сайте тоже :) –