script vérifiant si une URL pointe vers une page vraiment valable. il affiche les status des pages(404, 403...) Il utilise la librairie CURL
Source / Exemple :
<?php
function verif_url($url = NULL)
{
if($url == NULL) return false;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); //Temps maximal d'exécution
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //Durée maximale de la tentative d'établissement de la connexion vers l'hôte distant
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //Avec la valeur TRUE, le contenu de la page distante est retourné sous la forme d'une chaîne par la fonction curl_exec. La valeur par défaut FALSE a pour effet d'en afficher directement la sortie.
$data = curl_exec($ch); //Exécute la session cURL
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //Code HTTP de la dernière réponse reçue. La valeur sera nulle si aucune réponse n'a (encore) été reçue.
curl_close($ch);
// show on console::
if($httpcode == 200)
echo $url." :: exists".$httpcode.PHP_EOL;
else if($httpcode == 301)
echo $url." :: removed permanetly".$httpcode.PHP_EOL;
else if($httpcode == 302)
echo $url." :: removed temporary".$httpcode.PHP_EOL;
else
echo $url." :: not exists :: ".$httpcode.PHP_EOL;
return in_array($httpcode, array(200, 301, 302));
}
$html = '<a href="www.exemple.com">
<img src="http://images.mximg.com/mdnh/sitebox/splash/Travel/Travel19147020.jpg"/>
</a>
<a href="www.exempleinvalide.com">url invalide</a>';
// verifier les url des liens
$RegA = '#<[aA](\s)*(href|HREF)(\s)*=(\s)*[\"|\'](.*?)[\"|\'](.*?)>#is';
preg_match_all($RegA, $html ,$Results,PREG_PATTERN_ORDER);
foreach ($Results[5] as $url)
{
verif_url($url);
echo "<br>";
}
// verifier les sources des images
$RegImg = '/<img [^>]*src=["|\']([^"|\']+)/i';
preg_match_all($RegImg , $html, $matches);
foreach ($matches[1] as $key=>$url)
{
verif_url($url);
}
?>
Conclusion :
ce script prend en entré un code html que vous pouvez le modifier au cours du test. il cherche les url des liens et des images et verifie leurs existances
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.