Vérification des url valide avec php

Contenu du snippet

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

A voir également

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.