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 :

[CSV] file_get_contents et warning failed to open stream


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Par défaut [CSV] file_get_contents et warning failed to open stream
    Bonjour,

    J'ai un script qui upload un fichier csv sur un serveur unix et qui parse son contenu pour injecter les données remontées dans une base de données.

    Une fois le fichier choisi par l'utilisateur, le script affiche direct ceci :

    Warning: file_get_contents(C:/exprecouv_20070608.csv) [function.file-get-contents]: failed to open stream: No such file or directory in /data/www/asr/import_erics.php on line 18

    J'ai regardé avec un technicien, le php.ini du serveur a l'air correctement configuré. Evidemment, le script fonctionne en local avec Easyphp, mais voilà, il bloque sur le serveur. Le même warning s'affiche avec un fopen.
    J'ai essayé de changer les "\" de Windows en "/" pour unix, mais ça ne change rien.
    Des idées ?


    Merci.

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:/exprecouv_20070608.csv
    Il sort d'où ce chemin ? C'est typiquement un chemin windows, c'est sur que ça risque pas de passer sous *nix...

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Par défaut
    J'ai un input de type file pour récupérer un fichier local et faire l'export sur le serveur, en php

    Donc oui, c'est un chemin Windows... Ensuite le script fait un file_get_contents sur ce chemin, qu'est ce que je peux faire d'autre ?

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par Teppic
    qu'est ce que je peux faire d'autre ?
    Nous montrer les parties de ton code significatives ?

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Ouverture du fichier choisi et récupération du flux qu'il contient
     
    $path = str_replace("\\","/",CCGetParam("file"));
    $import_erics = file_get_contents("'".$path."'");
    Le script d'import proprement dit bloque ici, la suite est la construction de plusieurs requêtes sql, donc sans intérêt.

    Ma page d'upload ressemble à ça (générée par CodeCharge Studio) :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <form name="NewRecord1" action="importExport.php?ccsForm=NewRecord1" method="post" enctype="multipart/form-data">
      <table cellspacing="0" cellpadding="0" border="0">
        <tr>
          <td valign="top">
            <p><strong><font size="2">Importer des données Eric'S</font></strong></p>
     
            <p><input id="Import_File" type="file" name="Import_File">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            <input style="FONT-SIZE: 10px; BACKGROUND-IMAGE: url(Styles/Inrap2/Images/HeaderBg.gif); COLOR: #ffffff; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" type="button" value="Importer" name="Button_Import"></p>
          </td>
        </tr>
      </table>
      <p>&nbsp;</p>
      <p></p>
      <p>&nbsp;</p>
      <p>
    </form>

    EDIT : en faisant un print_r($_FILES) J'ai rien, un tableau vide...

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    C'est quoi CCGetParam ?

Discussions similaires

  1. Warning: move_uploaded_file : failed to open stream sur IIS
    Par van___fanel dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2010, 23h15
  2. Réponses: 3
    Dernier message: 01/09/2009, 07h38
  3. Réponses: 3
    Dernier message: 20/08/2009, 20h46
  4. Réponses: 4
    Dernier message: 29/12/2005, 19h35

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