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 :

[Système] file_gets_contents dur une URL


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Points : 69
    Points
    69
    Par défaut [Système] file_gets_contents dur une URL
    Bonjour

    J'ai réalisé un site en plusieurs parties :
    Un premier script php s'occupe d'analyser des données afin de retourner ces données sous format XML lorsqu'il est appelé.
    Un deuxième script php appelle cette page pour utiliser les donnée XML.

    Pour récuperer les donées depuis la deuxième page, j'utilise la fonction file_get_contents.

    Mon problème se trouve au niveau de cette fonction, elle met du temps à récuperer les données (2 secondes environ) et parfois n'arrive pas à les récuperer.

    Je me demande si je fais bien d'utiliser cette fonction, qui certe marche bien pour un fichier sur le serveur, mais avec qui j'ai des problème quand je lui passe une URL d'un script qui est sur mon propre serveur.

    Merci de vos commentaires.

  2. #2
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Il doit y avoir d'autre méthode moins couteuse comme fopen, fread...

    Tu donnes une url absolue ou relative à ta fonction ?

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Points : 69
    Points
    69
    Par défaut
    Je donne une adresse absolue afin que le script soit exécuté. Donc je sais pas si fopen et fread vont m'executer le script ou recuperer juste le code php.

  4. #4
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Peut-être en passant par une url relative ? Cela éviterait une transaction avec le serveur par http.

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si c'est pour une transaction interne au site, ne peux-tu pas simplement utiliser include() ? Elle serait certainement plus rapide, quoique...

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Points : 69
    Points
    69
    Par défaut
    Le truc c'est que le include va bien executer le script, mais j'aurais en fait voulu récuperer le resultat de la sortie standard pour le mettre dans une variable. D'ou le file_get_contents.

    Je pense que je vais devoir changer quelques trucs afin d'utiliser un include() qui sera a mon avis plus rapide, mais je me demandais s'il existait pas une manière d'executer un script et de récuperer le resultat sans que le serveur fasse une requète HTML. (Je pense à l'instant à un truc avec eval aussi, peut etre une autre solution...)

    Qu'en pensez vous ?

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Non, eval() n'est utile que si tu lui donnes du code non interprété, ce qui ne sera plus le cas après avoir appelé include().
    Cela dit, si tu utilises fopen() et eval(), alors peut-être... Mais vlà comme c'est propre !

    Non, je pense que le mieux serait de revoir le comportement de ton script appelé.
    C'est ce que j'ai adopté dans mon modCritic [cf. ici] : s'il est inclus, il retourne le contenu de la page à la variable du script template appelant ; sinon, il envoie tout à sa propre variable template.

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Points : 69
    Points
    69
    Par défaut
    Je crois que je vais faire ce que tu as fais Kirkis, ca resoudra bien mon problème.
    Par contre, comment fais tu pour savoir si le fichier est inclus ou pas ?

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je définis une constante dans le fichier parent et je teste son existence avec defined(). C'est radical si tu choisis bien le nom de ta constante.

    Je ne sais pas si c'est la meilleure méthode (j'en doute, en fait) mais c'est celle que j'ai adoptée et elle fonctionne.
    Je la reverrai peut-être plus tard, quand ça me prendra ^^

  10. #10
    Membre du Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Points : 69
    Points
    69
    Par défaut
    Je commencer par faire comme ca, si je trouve d'autres solutions je tenterais...

    Merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/05/2007, 02h54
  2. [Système] Exécution d'une URL
    Par youssef19838 dans le forum Langage
    Réponses: 1
    Dernier message: 31/01/2007, 08h30
  3. [Système] Question sur le fopen d'une url
    Par vallica dans le forum Langage
    Réponses: 8
    Dernier message: 19/01/2007, 16h52
  4. [Système] Ouvrir une URL
    Par benthebest dans le forum Langage
    Réponses: 37
    Dernier message: 27/08/2006, 23h41
  5. [Système] Exécution automatique d'une URL
    Par johnkro dans le forum Langage
    Réponses: 26
    Dernier message: 19/07/2006, 14h23

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