Vérifier l'existance d'un site web en PHP
Vous souhaitez recevoir de la part des visiteurs l'adresse de leurs site internet ? Seulement pas toujours facile de vérifier si le site en question existe réellement ou pas. Je vous propose donc un petit code qui "ouvre" le site internet afin de vérifier si il existe.
Voici le code :
<?php function is_valid_url($url) { if(empty($url)) return false; if (strpos(strtolower($url), 'http://') !== 0) $url = 'http://'.$url; $connect = @fopen($url, 'r'); if($connect) { fclose($connect); return true; } else return false; }
Cette fonction renvoie "true" si l'ouverture du site s'est bien déroulée et "false" si on ne peut pas l'ouvrir.
Quelques exemples :
<?php is_valid_url('http://www.maraumax.fr'); // Retourne true is_valid_url('www.maraumax.fr'); // Retourne true is_valid_url('exempledesitelabl'); // Retourne false is_valid_url(''); // Retourne false is_valid_url('http://mareaumaxsite.fr/'); // Retourne false
Après votre membre peut toujours "tricher" en utilisant un site qui n'est pas à lui. Seulement si par exemple l'adresse du site internet est optionnel et qu'elle a été renseigné, pensez à utiliser cette fonction avant de sauvegarder le site dans votre base !
Merci, je n'avais jamais pensé a cette fonction.
Je viens de l'ajouter au site ...
Merci. C'est cool.
Mais si jamais l'url à tester fait une redirection vers une autre url, le script renvoie "false". Vous avez une idée pour y remédier?
Logiquement fopen doit suivre les redirection. As-tu un exemple de site ?