Je suis en train de coder un portail immobilier. Je suis coincé dans la vérification des images. Je sais comment vérifier si une URL d'image est définie. Mais le problème consiste à détecter s’il existe réellement une image valide à l’URL.
exemple: http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg
L'URL de cette image existe, mais elle est maintenant supprimée. Elle s'affiche donc en blanc dans la page de recherche de propriétés. Existe-t-il un moyen de vérifier qu’il existe une image à l’URL, puis d’afficher un paramètre fictif s’il n’existe pas?.
quelque chose comme
$imageURL = "http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg";
if (exists($imageURL)) { display image }
else { display placeholder }
Mais tout ce que cela fait est de vérifier que l’url existe, ce qu’il ne contient pas d’image.
Merci d'avance
Utilisez getimagesize()
pour vous assurer que l’URL pointe vers une image valide.
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://www.themes.tatwerat.com/wp/ah-personal/wp-content/uploads/2016/08/features-ah-wp-view.jpg')) {
echo 'yes i found it';
}else{
echo 'file not found';
}