noz666 Posté(e) le 2 décembre 2005 Posté(e) le 2 décembre 2005 voici une fonction qui permet de vérifier des liens seulement elle ne marche pas elle me met tous le temps que le lien est valide ou bien il me met une erreur : Notice: Undefined index: port in c:\////\check.php on line 54 <lien>http://www.hotmaifgl.com</lien> file exists! <?php function url_validate( $link ) { $url_parts = @parse_url( $link ); if ( empty( $url_parts["host"] ) ) return( false ); if ( !empty( $url_parts["path"] ) ) { $documentpath = $url_parts["path"]; } else { $documentpath = "/"; } if ( !empty( $url_parts["query"] ) ) { $documentpath .= "?" . $url_parts["query"]; } $host = $url_parts["host"]; $port = $url_parts["port"]; if (empty( $port ) ) $port = "80"; $socket = @fsockopen( $host, $port, $errno, $errstr, 30 ); if (!$socket) { return(false); } else { fwrite ($socket, "HEAD ".$documentpath." HTTP/1.0\r\nHost: $host\r\n\r\n"); $http_response = fgets( $socket, 22 ); if ( ereg("200 OK", $http_response, $regs ) ) { return(true); fclose( $socket ); } else { return(false); } } } $link = "http://www.hotmaifgl.com"; if (url_validate( $link )==false) { print ($link . " file exists!"); } else { print ($link . " file doesn't exist!"); } ?> que faire ??? Connaissez vous un script qui check les urls et qui soit fillable ( prenant en charge les erreurs ) ?? merci beaucoup d'avance
astero-H Posté(e) le 3 décembre 2005 Posté(e) le 3 décembre 2005 Salut A mon avis quand on écrit plus de 15 lignes pour faire un truc en PHP c'est qu'il y a surement une lib pour le faire en 3 lignes http://pear.php.net/manual/en/package.http...quest.intro.php Voilou, Bonne lecture.
an0nyme Posté(e) le 7 décembre 2005 Posté(e) le 7 décembre 2005 sinon le problème dans ton code c'est que tu défini $url_parts["port"] si je comprend bien c'est juste une notice, il faut utilise error_reporting(E_ALL~E_NOTICE); pour pas voir ces erreurs ( affiche les seulement pour le débuguage )
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.