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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] load_file : failed to open stream


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut [SimpleXML] load_file : failed to open stream
    Bonjour à tous !

    J'ai un petit soucis avec la fonction simplexml_load_file.
    Voici mon bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rss = simplexml_load_file($url);
    Quand l'url n'est pas correcte, ou que je ne suis plus connecté au Net, cette fonction m'affiche un Warning (même 2). Donc c'est laid c'est pas beau.
    Pourtant la fonction me renvoie bien false, mais elle warning tout de même !

    Si vous avez une solution pour tester l'url d'abord, en gros tester si on trouve bien un fichier XML, je suis preneur ^^

    J'ai bien une idée de tenter de télécharger le fichier, tester si c'est un fichier xml, mais je ne suis pas très convaincu que ca marche à tout les coups...

    Merci pour votre aide

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Bonjour,

    Essaie comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $rss = @simplexml_load_file($flux);
    if($rss) {
    // l'url a bien été trouvée
    }

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut
    Non ca m'affiche toujours les 2 Warning à l'appel de la fonction

    Je pourrais bien désactiver les warning dans php.ini, mais c'est un peu brutal quand même, surtout que c'est utile pour le débugage.

  4. #4
    Membre expérimenté

    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
    Par défaut
    Citation Envoyé par Guybrush113
    Je pourrais bien désactiver les warning dans php.ini, mais c'est un peu brutal quand même, surtout que c'est utile pour le débugage.
    C'est justement le but : en production on ne les affiche pas du tout et en développement l'inverse.

    Ça m'étonne par contre que l'arobase ne joue pas son rôle (ça fonctionne parfaitement de mon côté) Vous pourriez bien sûr vérifier l'URL auparavant mais ça ne vous apportera guère plus pour les raisons données plus haut et de par le comportement des fonctions de chargement d'un document (retour d'une valeur fausse). Bref, je rejoins marcus13.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut
    Arf je suis vraiment désolé, j'avais pas vu l'arobase
    Fin de journée et tout... ^^

    Du coup ca fonctionne bien, mais c'est quoi exactement son role ? Que je le place pas non plus n'importe où pour les prochaines fois.

    Merci beaucoup pour l'astuce !

  6. #6
    Membre expérimenté

    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
    Par défaut
    Cacher (c'est tout à fait le terme qui convient) les erreurs. C'est ce qu'on appelle l'opérateur de contrôle d'erreur.

    En complément : Pourquoi utilise-t-on @ devant une expression ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Failed to open stream
    Par BnA dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2006, 17h09
  2. [Système] failed to open stream: Too many open files
    Par shamanlinks dans le forum Langage
    Réponses: 7
    Dernier message: 23/05/2006, 12h59
  3. Réponses: 4
    Dernier message: 29/12/2005, 20h35
  4. [FTP] Erreur "failed to open stream"
    Par Nefret dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2005, 20h53

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