Bonjour,
Tout est dans le titre, je recherche une fonction pour tester la validité d'une url d'un site !
J'en avais déjà une avec CURL mais je ne peux pas l'utiliser sur ce serveur.
Si quelqu'un en a une qui vérifie assez bien ?
Merci
++
Version imprimable
Bonjour,
Tout est dans le titre, je recherche une fonction pour tester la validité d'une url d'un site !
J'en avais déjà une avec CURL mais je ne peux pas l'utiliser sur ce serveur.
Si quelqu'un en a une qui vérifie assez bien ?
Merci
++
Le plus simple, mais pas forcément le moins gourmand :P
Code:
1
2
3
4 if (@fopen("tonurl", "r")){ echo "URL OK!"; }
fsockopen() ne serait pas plus efficace ?
J'avais déjà essayé, et ca marche pas très bien, ca me mets toujours valide c'est bizarre... 8O
Il n'y a pas un autre moyen ?
Merci
++
Montrez le nous, nous pourrions peut être voir ce qui cloche.Citation:
Envoyé par italiasky
Julp.
voici un code qui marche_______________________Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php //Vérifier la validité d'un adresse URL. //Permet d'afficher un message si le lien d'une URL est valide ou non. // L'URL du site web $site = "http://www.lesite.net"; $file = @fopen($site, 'r'); if ($file) { echo 'URL valide !'; } else { echo 'URL non valide !'; } ?>
Agir, rectifier, remettre tout a Zero mais ne jamais reste inactif a la recherche du parfait.
Beh je dois etre fou 8O lol
Je mets exactement ca mais ca me trouve toujours une url valide, quoi que je mette... :roll:
C'est possible que ca vienne du serveur sur lequel est ma page ?
++
je ne crois pas, peut etre que le probleme vient du Cache, faut vider le cache pour s'assurer que la fonction est pas correcte
__________________
Agir, rectifier, remettre tout a Zero mais ne jamais reste inactif a la recherche du parfait.
Personne n'a une autre méthode fiable ?
fsockopen est LA méthode fiable.
Genova a raison ....
doit t'afficher "URL non valide !"Code:
1
2
3
4
5
6
7
8
9 <?php $site = "http://www.qlmsdjqmcrjqmrjlmqrjqkeee.net"; $file = @fopen($site, 'r'); if ($file) { echo 'URL valide !'; } else { echo 'URL non valide !'; } ?>
@++
Essayer par vous meme :
http://www.webmaster-labs.com/test.php
Le code est :
Chez moi, Ca n'affiche pas du tout ce que ca devrait, je ne comprends vraiment pas !Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php $fp = fsockopen("www.google.com"); if ($fp) { echo "ok\n"; } else { echo"no"; } ?> <?php $site = 'http://www.qlmsdjqmcrjqmrjlmqrjqkeee.net'; $file = fopen($site, 'r'); if ($file) { echo '<br>URL valide !'; } else { echo '<br>URL non valide !'; } ?>
Essaie :
ça marche ?Code:
1
2
3
4
5
6
7 <?php error_reporting(E_ALL); $errno = 0; $errstr = ''; $fp = fsockopen("www.qlmsdjqmcrjqmrjlmqrjqkeee.net", 80, $errno, $errstr, 5); echo ($fp) ? 'URL valide' : 'URL invalide'; ?>
exemple en ligne iciCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php if (isset($_POST["url"])) { $site=$_POST["url"]; $file = @fopen($site, 'r'); if ($file) { echo 'URL valide !'; } else { echo 'URL non valide !'; } } else { echo '<form name="chat" action="' . $_SERVER["PHP_SELF"] . '" method="post" enctype="multipart/form-data">'; echo '<p>Tapez votre url :<br>'; echo '<input type="text" name="url" size="50"></p>'; echo '<input type="Submit" value="OK">'; echo '</form>'; } ?>
@++
Ca me marque URL valide! 8OCitation:
Envoyé par genova
J'ai remis exactement le code de p.legal :
http://www.webmaster-labs.com/test.php
C'est vrai que ca marche quand je vais a partir de son lien mais là sur ce serveur ca ne fonctionne pas apparement..
Cela ne viendrait t'il pas d'un paramétrage du php.ini sur l'autorisation d'utiliser fsockopen( ?
@++
Si fsock ne marche pas, tu peux tenter de te tourner vers CURL mais ca m'etonnerait qu'il soit permis si ton fsock ne l'est pas.
oui effectivement CURL ne peut etre utilisé, c'est d'ailleurs pour ca que je recherchais une autre solution pour vérifier une url parce que à la base je voulais le faire avec CURL !
Et ben, sans CURL, sans fsock, 8O il me reste quoi ? lol
As tu essayé de voir avec ton hebergeur pour activer au moins fsockopen( ?
Qui ne demande rien, n'a rien :mouarf:
Il est possible qu'il te l'accorde...
@++
Selon mon hébergeur fsockopen est activé ! :roll:
Sinon, je voulais m'orienter vers des scripts CGI ou PERL pour vérifier une url vu que normalement c'est activé sur mon hébergeur.
Seulement je ne conais pas du tout comment mettre en place, par exemple j'ai trouvé cette fonction qui vérifie une url :
Pour moi ca ressemble a du php non ? C'est soit-disant du perl ou cgi... menfin je sais pas trop..Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 sub check_url { my ($url); my ($ua); $url = $_[0]; # crée un user agent $ua = new LWP::UserAgent; # défini la signature du browser $ua->agent("LinkChecker (http://scripts-fr.com/)"); $ua->timeout(15); $ua->max_size(300); # prends 300 bytes # effectue la requete $request = new HTTP::Request GET => $url; $response = $ua->request($request); if ($response->is_success) { return "ok"; } else { return $response->code; } }
Si quelqu'un peut m'aider
merci
++