Я нахожусь в середине кодирования портала свойств. Я застрял на проверке изображений. Я знаю, как проверить, установлен ли URL-адрес изображения. Но проблема заключается в обнаружении фактического изображения в URL-адресе.
Пример: http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg
Этот URL-адрес изображения существует, но изображение теперь удалено, поэтому оно просто отображается на моей странице поиска простейшей. Есть ли способ проверить, есть ли там изображение на url, а затем отображать заполнитель, если он не существует.
что-то вроде
$imageURL = "http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg"; if (exists($imageURL)) { display image } else { display placeholder }
Но все, что это делает, это проверить, существует ли у него URL-адрес, который у него есть, просто нет изображения
заранее спасибо
Используйте getimagesize()
чтобы убедиться, что URL-адрес указывает на допустимое изображение.
if (getimagesize($imageURL) !== false) { // display image }
function exists($uri) { $ch = curl_init($uri); curl_setopt($ch, CURLOPT_NOBODY, true); curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $code == 200; }
function is_webUrl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // don't download content curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if (curl_exec($ch) !== FALSE) { return true; } else { return false; } } if(is_webUrl('http://img.ruphp.com/php/features-ah-wp-view.jpg')) { echo 'yes i found it'; }else{ echo 'file not found'; }
Вы можете use file_exists
функцию use file_exists
чтобы проверить, существует ли изображение, но вы должны use file_exists
физический путь изображения
if (file_exists(dirname($_SERVER['SCRIPT_FILENAME']).'/'.$filename)) { // your code here }