Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1589 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Gestion d'erreur file_get_contents()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gestion d'erreur file_get_contents()

n°1288139
Mush22
Le temps se chargera du reste.
Posté le 20-01-2006 à 10:50:17  profilanswer
 

Bonjour,
 
J'utilise un petite fonction que j'ai faites pour vérifier le contenu d'une page distante. J'utilise pour cela la fonction file_get_contents().
 
Actuellement, si l'url n'est pas trouvée, j'ai une erreur qui s'"affiche du type :
-Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /u**2/web/*****e/*****/*****/scripts/fonctions.php on line 11
 
J'aimerais ne pas voir afficher cette erreur, mais que la valeur retournée soit tout simplement ce que je veux (0, ou false etc...).
 
Voici ma fonction :  

Code :
  1. function mafonction($url){
  2. $contenu = file_get_contents($url);
  3. if(strpos($contenu , 'texte a trouver')){
  4.  $is_txt = 1;
  5. }
  6. else{
  7.    $is_txt = 0;
  8. }
  9. return $is_txt;
  10. }


 
J'ai essayé de mettre un if($contenu = file_get_contents($url)===false) etc... mais l'erreur s'affiche quand meme et du coup, le script s'arrete, alors qu'il y a d'autre urls a tester
 
Merci d'avance.
 
Merci.

mood
Publicité
Posté le 20-01-2006 à 10:50:17  profilanswer
 

n°1288152
j_lecruel
☀ ☁ ☂
Posté le 20-01-2006 à 11:06:15  profilanswer
 

@file_get_contents ?


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
n°1288156
Mush22
Le temps se chargera du reste.
Posté le 20-01-2006 à 11:09:29  profilanswer
 

Oui, mais qu'en est il de ce que je voudrais retourner? La il n'affiche pas l'erreur, mais je n'ai ni false ni quoi que ce soit...

n°1288157
omega2
Posté le 20-01-2006 à 11:09:35  profilanswer
 

file_exists() ( http://www.nexen.net/docs/php/anno [...] file_exist ) sert à vérifier l'existance d'un fichier avant de le manipuler.
 
L' @ est à éviter absolument sauf dans un seul cas : si on a un systéme de traitement d'erreur et que l'erreur en question n'est pas inévitable par une autre opération ou vérification.

n°1288159
Mush22
Le temps se chargera du reste.
Posté le 20-01-2006 à 11:11:04  profilanswer
 

Excellente idée omega2 ;)  
 
Merci

n°1288167
Mush22
Le temps se chargera du reste.
Posté le 20-01-2006 à 11:20:48  profilanswer
 

Il n'est pas noté dans les doc que file_exists() peut etre utilisé à distance, et sur des urls, non pas sur des fichiers.
 

n°1288187
omega2
Posté le 20-01-2006 à 11:36:51  profilanswer
 

Citation :

Depuis PHP 5.0.0 cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat.


Mais c'est vrai que tous les hébergeurs ne sont pas encore passé à php5.
 
Et je viens de réaliser un truc, le warning n'indique pas que le fichier ou le serveur n'a pas été trouvé. L'erreur est autre, peut être un protocole réseau non disponible ou peut être que ton hébergeur ne permet pas l'accés aux fichiers distants.
 
Au fait, ton erreur est un "warning" et non pas un "error". Un warning n'est pas bloquant et ton script continu donc son exécution malgrés le probléme constaté par php.

n°1288256
Mush22
Le temps se chargera du reste.
Posté le 20-01-2006 à 12:44:41  profilanswer
 

Et est-il possible de detecter ces warning, pour générer un rapport d'erreur par exemple?

n°1288266
omega2
Posté le 20-01-2006 à 12:55:38  profilanswer
 

de la lecture pour toi :
http://www.nexen.net/docs/php/anno [...] orfunc.php
 
// pour avoir le message d'erreur sans l'afficher :
http://www.nexen.net/docs/php/anno [...] ack_errors
http://www.nexen.net/docs/php/anno [...] ien=erreur
 
// l'affichage des erreurs et les problémes de sécurité
http://www.nexen.net/docs/php/anno [...] ien=erreur
// le tracage des erreurs grace à un débugger php
http://www.nexen.net/docs/php/annotee/debugger.php (pour quand tu développe chez toi)

n°1288322
Mush22
Le temps se chargera du reste.
Posté le 20-01-2006 à 14:42:52  profilanswer
 

J'ai bien vu ca, mais on parlait de Warning, et non d'erreur non?
J'ai essayé quelque trucs qui ne marchent pas du fait que mon script ne génère que des warnings.

mood
Publicité
Posté le 20-01-2006 à 14:42:52  profilanswer
 

n°1288379
omega2
Posté le 20-01-2006 à 15:38:08  profilanswer
 

C'est vrai, tout ne marche pas avec les "warning".
Par contre j'ai testé http://www.nexen.net/docs/php/anno [...] andler.php et avec le php que j'ai ici (un php5.1) ca fonctionne : la fonction est bien appellé même pour les warning ou des notice.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Gestion d'erreur file_get_contents()

 

Sujets relatifs
Besoin d'aide, erreur php.gestion htacess
probleme avec include fileerreur dans script d'activation de liens
Erreur de requete et formulaire[RESOLU]erreur a l'affichage de mes pages?????
odbc access ds excel erreur de spécification !!![Perl] Erreur non-lvalue subroutine
Debug Assertion Failed ! File: dbgheap.cGestion d'ERREUR(Resolu)
Plus de sujets relatifs à : Gestion d'erreur file_get_contents()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR