Nous sommes actuellement le 10 Juil 2026, 22:14

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 
Auteur Message
MessagePublié: 04 Mars 2003, 20:15 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
Bonjour,

J'ai un script où j'ai un fopen() qui va voir une page web ($engine). Tout va à merveille, sauf quand le fopen() arrive à une page qui est maintenant inexistante.

Voici mon code:

Code :
$file = fopen ("$engine", "r");
while (!feof ($file))
    {
       echo "abc";
    }


Voici l'erreure:

Code :
Warning: php_network_getaddresses: gethostbyname failed in c:\program files\easyphp\www\process.php on line 226

Warning: fopen("http://www.sers.imaginet.fr/~bplanque/blanchard.htm", "r") - No error in c:\program files\easyphp\www\process.php on line 226

Warning: feof(): supplied argument is not a valid File-Handle resource in c:\program files\easyphp\www\process.php on line 236

Warning: fgets(): supplied argument is not a valid File-Handle resource in c:\program files\easyphp\www\process.php on line 239


Comment faire pour que, si le fopen() ne trouve rien à l'adresse $engine, il continue avec le prochain résultat, sans créer d'erreure?

Merci

Mathieu Lessard

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 04 Mars 2003, 22:07 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:31
Message(s) : 811
Localisation : Still on Mars
http://www.php.net/manual/en/function.fopen.php

Citer:
If the open fails, the function returns FALSE.


Donc ca veux dire que tu peux faire ceci

Code :
$handle = fopen ("/home/rasmus/file.txt", "r");
if($handle == false){
echo "page not found";
}

_________________
Pro_PHP

La Conference PHP Québec 2008
La communauté PHP Québec


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 04 Mars 2003, 22:11 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
mais je veux pas que ca écrive ca, je veux que ca continue avec le prochain (car c'est un while), donc il ne prenne pas en compte l'erreur, qu'il affiche rien, mais continu tout simplement...

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 04 Mars 2003, 22:18 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:31
Message(s) : 811
Localisation : Still on Mars
Code :
$handle = fopen ("/home/rasmus/file.txt", "r");
if($handle == false){
continue;
}


Ceci vas faire en sorte que le reste du code dans le loop vas etre sauter. Et un nouveau tour vas recommencer.

_________________
Pro_PHP

La Conference PHP Québec 2008
La communauté PHP Québec


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 04 Mars 2003, 22:20 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
Merci... merci beaucoup!!!

Je crois que c'est exactement ce que je cherche

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 04 Mars 2003, 22:37 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
Est-ce que ça se peut que ca ralentisse le code ou plutot l'exécution du code considérablement?

Peut être un problème de connection remarque... mais c'est très slow...

Bon..assez travaillé aujourd'hui... dodo time

a+

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 04 Mars 2003, 22:48 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:31
Message(s) : 811
Localisation : Still on Mars
bien c sur si tu loop dans 500 fichier lol que ca vas etre lent ...

Si c,est que du code ordinaire non ca la aucun rapport.

_________________
Pro_PHP

La Conference PHP Québec 2008
La communauté PHP Québec


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 05 Mars 2003, 12:45 
Hors-ligne
Régulier
Régulier

Inscription : 05 Fév 2002, 22:00
Message(s) : 489
salut...

ce que je veux dire c'est que depuis que j'ai mis le petit bout de code dont tu me parle, l'entrée des informations se fais beaucoup plus lentement que sans le petit bout de code...

est-ce normal? Je pense pas qu'un if puisse ralentir de la sorte?

Peux tu m'éclairer un peu plus sur les causes possible s.v.p.?

Merci

Mathieu

_________________
-------------------
Mathieu Lessard

"Toute grande guerre se gagne d'abord par de petits coups d'épée"


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 05 Mars 2003, 18:25 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 22:14
Message(s) : 790
Localisation : Extrémité sud-ouest de Lévis
Essayez ceci :

Code :
while () //Tant que l'on n'a pas passé au travers de la liste de fichiers
    $file = fopen ("$engine", "r");
    if ($file != FALSE)
    {
        while (! feof($file))
        {
            //Traitement ici
        }
    }
}


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site