[RESOLU] contrôle de l'url

mars77
Invité n'ayant pas de compte PHPfrance

25 juin 2007, 14:11

Bonjour a tous,

J'ai vu sur le site un petit script pour faire le contrôle des url:

Le voilà:

Code : Tout sélectionner

<?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.phpsources.net"; $file = @fopen($site, 'r'); if ($file) { echo 'URL valide !'; } else { echo 'URL non valide !'; } ?>


il fonctionne tiptop sur le serveur d'évaluation et en ligne. Maintenant je l'ai modifié pour mes besoins. c'est a dire dans un boucle pour que je puisse connaitre les url qui sont enregistrées dans ma base qui ne fonctionne plus. En local ça fonctionne mais pas en ligne. je ne comprends pas .

Mon code:

Code : Tout sélectionner

<?php include("include/confige.php"); include("include/fonction.php"); $select = ' select id,titre,url,description,cat,date,hits,pays,confirme FROM club ORDER BY date ASC '; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_array($result)) { //Vérifier la validité d'un adresse URL. //Permet d'afficher un message si le lien d'une URL est valide ou non. $url=''.$row['url']; $site = "$url"; $file = @fopen($site, 'r'); if ($file) { echo ''; } else { echo ''.$url.''; echo '<br>'; } } // L'URL du site web ?>
La page s'affiche bien mais au lieu de m'afficher les url pas valides il m'affiche toute les adresses de ma base.

Es ce que quelqu'un connait ce que je pourrai essayer pour m'afficher seulement les url non valides?
Merci pour votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

25 juin 2007, 17:18

Bonjour,

Retires l'arobase devant tes fonctions, ça te permettra d'afficher les éventuels messages d'erreurs
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 121 Messages

28 juin 2007, 16:42

Merci pour ton aide.

Voilà le message d'erreur qu'il m' affiche maintenant.


Warning: fopen(): URL file-access is disabled in the server configuration in /home/httpd/vhosts/www.passion-parapente.ch/web/essai.php on line 13 Warning: fopen(http://www.rhone.ch/fluggruppe-aletsch): failed to open stream: no suitable wrapper could be found in /home/httpd/vhosts/www.passion-parapente.ch/web/essai.php on line 13 http://www.rhone.ch/fluggruppe-aletsch


Je comprends pas trop ce qu'il y a ?????

merci a celui qui pourra m'éclairer.

ViPHP
fab
ViPHP | 2657 Messages

28 juin 2007, 16:47

Bah visiblement avec ton hébergeur tu ne peux faire des fopen sur des fichiers distants
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

ViPHP
ViPHP | 2287 Messages

28 juin 2007, 16:56

Warning: fopen(): URL file-access is disabled in the server configuration in /home/httpd/vhosts/www.passion-parapente.ch/web/essai.php on line 13 Warning: fopen(http://www.rhone.ch/fluggruppe-aletsch): failed to open stream: no suitable wrapper could be found in /home/httpd/vhosts/www.passion-parapente.ch/web/essai.php on line 13 http://www.rhone.ch/fluggruppe-aletsch
Le problème vient de la directive de configuration allow_url_fopen qui est à Off chez ton hébergeur, alors que le script que tu utilises compte dessus pour son éxécution.

La solution la plus rapide, à condition que tu puisses le faire, serait de passer la variable de configuration à On chez ton hébergeur. Sinon, il faudra modifier le script pour qu'il n'utilise plus fopen() mais une fonction adaptée à la place (par exemple fsockopen()).

Eléphant du PHP | 121 Messages

28 juin 2007, 17:27

merci pour ton aide.

Je me suis mis en contact avec mon hébergeur et il m'a activé la fonction.

Merci encore .

ViPHP
ViPHP | 2287 Messages

28 juin 2007, 17:30

De rien :) Content d'avoir pu t'aider, pense bien au tag [Résolu] pour ton message s'il te plaît !