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 :

Protocole SSL : alternative à fopen() et à fgets() pour lire un fichier .csv


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    IDE
    Inscrit en
    Janvier 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : IDE

    Informations forums :
    Inscription : Janvier 2015
    Messages : 39
    Points : 58
    Points
    58
    Par défaut Protocole SSL : alternative à fopen() et à fgets() pour lire un fichier .csv
    Bonsoir,

    Depuis quelques temps les sites sous OVH et quelques autres hébergeurs proposent le https d'office. Et j'ai remarqué un bug avec les fonctions php fopen() et fgets() (que j'ai eu du mal à mettre en lien dans un premier temps).

    Essayez le select des pays de cette page qui fonctionne en l'état en récupérant un fichier .csv grâce à fgets() : Page contact
    Puis la même page avec le protocole SSL, on constate que le fichier .csv ne peut être lu : Page contact

    Voici un extrait du code du plugin WordPress que j'avais créé pour l'occasion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        // Boucle récupérant la liste de tous les pays
        $id_file = fopen( $uriCsv, 'r' ); // 'r' lecture seule
        while ( $line = fgets( $id_file, 1024 ) ) { // '1024' Nombre d'octets max par ligne et par défaut
          $line = explode( ' ; ', $line ); // Choix du séparateur entre les données de la ligne
          echo '<option value="' . $line[0] . '">' . $line[1] . '</option>'; // Retourne toutes les valeurs sur ce format
          if ( $pays == $line[0] ) // Sélection en cours
            echo '<option value="' . $line[0] . '" selected="selected">' . $line[1] . '</option>'; // Retourne la sélection en cours
        }
    Je cherche donc une solution de contournement, si vous avez des suggestions je suis preneur.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 220
    Points : 15 511
    Points
    15 511
    Par défaut
    SSL modifie seulement la façon dont les données sont envoyées du serveur Apache au client. donc cela ne devrait pas modifier le comportement du code PHP.

    est ce que vous appelez bien le fichier par le chemin local et non en passant par le serveur en indiquant http:... ?

  3. #3
    Membre du Club
    Homme Profil pro
    IDE
    Inscrit en
    Janvier 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : IDE

    Informations forums :
    Inscription : Janvier 2015
    Messages : 39
    Points : 58
    Points
    58
    Par défaut Merci
    Bonjour Mathieu, et merci de ta réponse et aussi à celle de Quentin.

    Comme vous l'avez souligné tous les deux le problème provenait bien de la variable $uriCsv qui doit faire référence à un fichier local sur le serveur.

    Il s'agissait d'un plugin pour WordPress, problème corrigé comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $uriCsv = plugin_dir_path( __FILE__ ) . 'ListOfCountries.csv'; // Liste des pays, ISO 3166-1
    Sujet résolu.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/11/2015, 18h45
  2. Réponses: 4
    Dernier message: 18/11/2009, 20h09
  3. [Lazarus] Procédure Readln pour lire un fichier csv
    Par ovni76 dans le forum Lazarus
    Réponses: 7
    Dernier message: 01/12/2008, 20h27
  4. [TP]comment faire pour lire un fichier son
    Par sovo dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 19/09/2004, 20h33
  5. Probleme pour lire un fichier Ini
    Par Sebinou dans le forum C++Builder
    Réponses: 11
    Dernier message: 11/03/2004, 00h22

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