IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Tester la validité d'une url d'un site web


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut Tester la validité d'une url d'un site web
    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
    ++

  2. #2
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    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!";
    }

  3. #3
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    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.

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    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
    ++

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par italiasky
    J'avais déjà essayé, et ca marche pas très bien, ca me mets toujours valide c'est bizarre...
    Montrez le nous, nous pourrions peut être voir ce qui cloche.


    Julp.

  6. #6
    Membre actif Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Points : 268
    Points
    268
    Par défaut
    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.
    Agir, rectifier, remettre tout a Zero mais ne jamais reste inactif a la recherche du parfait.

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    Beh je dois etre fou lol

    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 ?

    ++

  8. #8
    Membre actif Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Points : 268
    Points
    268
    Par défaut
    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.
    Agir, rectifier, remettre tout a Zero mais ne jamais reste inactif a la recherche du parfait.

  9. #9
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    Personne n'a une autre méthode fiable ?

  10. #10
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    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.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 82
    Points : 87
    Points
    87
    Par défaut
    Genova a raison ....
    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 !';
        }
    ?>
    doit t'afficher "URL non valide !"

    @++
    "Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi

  12. #12
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    Essayer par vous meme :
    http://www.webmaster-labs.com/test.php

    Le code est :
    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 !'; } 
    ?>
    Chez moi, Ca n'affiche pas du tout ce que ca devrait, je ne comprends vraiment pas !

  13. #13
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Essaie :
    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';
    ?>
    ça marche ?
    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.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 82
    Points : 87
    Points
    87
    Par défaut
    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>';
        }
    ?>
    exemple en ligne ici

    @++
    "Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi

  15. #15
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par genova
    ça marche ?
    Ca me marque URL valide!

    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..

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 82
    Points : 87
    Points
    87
    Par défaut
    Cela ne viendrait t'il pas d'un paramétrage du php.ini sur l'autorisation d'utiliser fsockopen( ?

    @++
    "Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    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.

  18. #18
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    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

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 82
    Points : 87
    Points
    87
    Par défaut
    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...

    @++
    "Soyez les changements que vous aimeriez voir dans le monde" Mahatma Gandhi

  20. #20
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut
    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 :

    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;
      }
    }
    Pour moi ca ressemble a du php non ? C'est soit-disant du perl ou cgi... menfin je sais pas trop..

    Si quelqu'un peut m'aider

    merci
    ++

Discussions similaires

  1. [PHP 5.0] Tester la validité d'une URL Scheme
    Par Fooshi dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2012, 13h12
  2. [Débutant]Tester la validité d'une URL
    Par Invité dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 13/03/2008, 15h27
  3. [Réseau] Tester la validité d'une URL
    Par dajij dans le forum Langage
    Réponses: 3
    Dernier message: 09/09/2007, 12h04
  4. Comment tester la validité d'une adresse mail
    Par jmoez dans le forum Oracle
    Réponses: 1
    Dernier message: 19/04/2006, 13h00
  5. [web] tester la validiter d'une URL
    Par zebiloute dans le forum Web
    Réponses: 4
    Dernier message: 25/11/2002, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo