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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Configuration] Retour chariot Macintosh


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Par défaut [Configuration] Retour chariot Macintosh
    Bonjour, j'ai manifestement un problème avec les Macs...

    Je vous explique :

    Mon objectif est d'extraire les lignes d'un bête fichier .csv, construit à partir d'Excel ou de n'importe quel éditeur de texte. (et par la suite de les insèrer dans un tableau afin d'y étre triées, mais là n'est pas le problème)

    Mon fichier .csv s'organise en gros comme ceci :

    truc1;truc2;truc3;truc4;truc5
    machin1;machin2;machin3;machin4;machin5
    etc...

    Pour extraire les données, j'utilise donc le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $monFichier = fopen("truc.csv", "r"); 
    $i=0;
    $ii=0;
    while (($data = fgetcsv($monFichier,1000,";")) !== FALSE) { 
         foreach ($data as $d) { 
                 $tab[$i][$ii]=addslashes(ucfirst(strtolower($d)));
                 $ii++;
         } 
         $ii=0; 
         $i++;
    }
    Jusqu'à là, tout va bien.
    Je teste : j'upload differents fichiers.csv sur le serveur.
    Je teste avec des fichier.csv créés sur PC, ça marche.
    Je teste avec des fichier.csv créée sur Linux, ça marche.

    et là, c'est le drame...
    je teste avec des fichier.csv crée sur un Mac,l'un avec Excel, et un autre avec un éditeur; et là rien ne va plus...
    Ma fonction fgetcsv ne détecte pas la fin des lignes sur ces fichiers Mac, le retour chariot n'est apparament pas pris en compte...

    Alors que je devrais obtenir ceci dans mon tableau :
    |truc1 | truc2 | truc3 | truc4 |truc5 |
    |machin1 | machin2 | machin3 | machin4 |machin5 |

    J'obtiens cela:
    |truc1 |truc2 |truc3 |truc4 |truc5 machin1 |


    Problème d'autant plus épineux que c'est pour un client Mac bien sur...

    Donc si quelqu'un s'y connait en conversion de retour chariot version Mac, je suis preneur.

    Merci à tous..

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par Darkeucha
    Bonjour, j'ai manifestement un problème avec les Macs...

    Je vous explique :

    Mon objectif est d'extraire les lignes d'un bête fichier .csv, construit à partir d'Excel ou de n'importe quel éditeur de texte. (et par la suite de les insèrer dans un tableau afin d'y étre triées, mais là n'est pas le problème)


    Jusqu'à là, tout va bien.
    Je teste : j'upload differents fichiers.csv sur le serveur.
    Je teste avec des fichier.csv créés sur PC, ça marche.
    Je teste avec des fichier.csv créée sur Linux, ça marche.

    et là, c'est le drame...
    je teste avec des fichier.csv crée sur un Mac,l'un avec Excel, et un autre avec un éditeur; et là rien ne va plus...
    Ma fonction fgetcsv ne détecte pas la fin des lignes sur ces fichiers Mac, le retour chariot n'est apparament pas pris en compte...


    Problème d'autant plus épineux que c'est pour un client Mac bien sur...

    Donc si quelqu'un s'y connait en conversion de retour chariot version Mac, je suis preneur.

    Merci à tous..
    verifiez si

    auto_detect_line_endings = true ;

    dans php.ini… à partir de 4.3

    ou utilisez une autre librairie…

    ou faites un pré-traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat file | tr '\r' '\n' > cvtfile
    (éventuellement dans un popen en PHP…)

    ou :
    sur Macintosh, tous les logiciels supportent tous les types de fin de lignes, il suffit de choisir la bonne option dans leurs "Préférences"…
    en particulier dans Excel, il suffit de choisir le format "CSV (Windows)" au lieu de "CSV (séparateur ; point-virgule)"

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Par défaut
    J'ai mis l'option sur ON...
    Tout marche impec.

    Merci du coup de main !

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

Discussions similaires

  1. retour chariot GetWindowText
    Par johnlehardos dans le forum MFC
    Réponses: 2
    Dernier message: 29/01/2004, 21h20
  2. Retour chariot
    Par raf_gug dans le forum MFC
    Réponses: 9
    Dernier message: 13/01/2004, 17h54
  3. afficher texte avec retour chariot aprèq requète sql
    Par frenchy371 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 17h33
  4. retour chariot dans un string
    Par bono dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/12/2003, 12h17
  5. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 18h55

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