utilisation de fopen

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] utilisation de fopen

    salut,

    je n'arrive pas à faire fonctionner fopen pour lire le contenu d'un fichier csv sur le web, voici mon code :
    Code:
    $url = 'http://quote.yahoo.com/d/quotes.csv?s=EURMAD=X&f=l1&e=.csv';
    $handle= fopen($url, "r");
    $exchange_rate = fread($handle, 2000);
    fclose($handle );
    echo $exchange_rate;
    mais ça me retourne :
    Code:
    Missing Format Variable
    une idée?.

  • #2
    Re : utilisation de fopen

    Bonjour,
    Quel est le raport avec Joomla?

    Ton url n'est pas bonne, il te faut le chemin complet sur le serveur du fichier, et non une url externe.
    Un peu de pub: http://www.aplomb.ch

    Commentaire


    • #3
      Re : utilisation de fopen

      salut,

      le rapport avec joomla c'est que j'ai intégré le code dans un article...

      Sinon, si je tape cette URL dans le navigateur ça me génère le fichier en question.

      Comment je fais pour avoir le chemin complet?

      Commentaire


      • #4
        Re : utilisation de fopen

        Bonjour,

        Le code n'est pas bon, puisqu'il présume que fopen() est autorisé à ouvrir des URL distantes (dans la configuration php.ini, c'ets la directive allow_url_fopen, qui en général chez 90% des hébergements est interdite (voire non seulement interdite, mais la fonction url_fopen désactivée) pour des raisons de sécurité.

        Tu devrais vérifier que ton hébergement autorise curl, et réécrire ton code en testant les cas de figure. Si l'hébergement interdit les 2 méthodes, tu devras écrire un cron et utiliser un fopen local pour parser le fichier.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : utilisation de fopen

          J'enfonce un peu le clou, ton code ne renvoie même pas une erreur en cas d'erreur d'ouverture du fichier, ce qui explique les déconvenues. Un code un peu plus propre serait:
          Code:
          $url = 'http://quote.yahoo.com/d/quotes.csv?s=EURMAD=X&f=l1&e=.csv';
          $handle= fopen($url, "r");
          if ( $handle ) {
              $exchange_rate = fread($handle, 2000);
              fclose($handle );
              echo $exchange_rate;
          } else {
              echo "Impossible d'ouvrir l'URL distante.<br />";
          }
          Dernière édition par jisse03 à 04/05/2012, 19h36
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : utilisation de fopen

            Et pour compléter et être précis, si le code corrigé ouvre bien le lien mais renvoie le même message, il s'agit d'un build de PHP avec un "patch" qui crée un bug en remplaçant tous les & d'une URL par &amp; et en le forçant sur les url_fopen, d'où le problème.
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : utilisation de fopen

              merci jisse03 pour ces précisions. Mais je vais zapper cette méthode complètement pour laisser le site plus sécurisant.

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X