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
++
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (@fopen("tonurl", "r")){ echo "URL OK!"; }
fsockopen() ne serait pas plus efficace ?
Testez le forum Fire Soft Board, un forum libre, gratuit et français.
Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
J'avais déjà essayé, et ca marche pas très bien, ca me mets toujours valide c'est bizarre...![]()
Il n'y a pas un autre moyen ?
Merci
++
Montrez le nous, nous pourrions peut être voir ce qui cloche.Envoyé par italiasky
Julp.
voici un code qui marche_______________________
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 foulol
Je mets exactement ca mais ca me trouve toujours une url valide, quoi que je mette...![]()
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.
fsockopen est LA méthode fiable.
Testez le forum Fire Soft Board, un forum libre, gratuit et français.
Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
Genova a raison ....
doit t'afficher "URL non valide !"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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'; ?>
Testez le forum Fire Soft Board, un forum libre, gratuit et français.
Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
exemple en ligne ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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!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,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
Il est possible qu'il te l'accorde...
@++
Selon mon hébergeur fsockopen est activé !![]()
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
++
Partager