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 :

Retours à la ligne d'un fichier .csv


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut Retours à la ligne d'un fichier .csv
    Bonjour,

    Je crée par PHP un fichier .csv avec des données alphanumériques et des retours charriot "/r".

    Ensuite j'enregistre le fichier sur le serveur avec fwrite.

    Puis j'envoie le fichier en pièce jointe avec la classe Mail de PEAR en spécifiant text/csv comme format mais sans spécifier d'alphabet.

    Sous windows, si on ouvre le fichier sous Excel, il n'y a que la première ligne qui apparaît.

    Pas contre, pas de souci avec un Mac, et pas de souci pour traitement du fichier côté serveur.

    Quelq'un sait-il ce qui manque à Wndows pour ouvrir le fichier correctement ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    c'est \r un retour chariot, voir \r\n
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut
    Tu veux disre que je dois remplacer "\r" par "\n" ?

    À vrai dire je n'ai jamais trop compris la différence entre les deux.

    J'utilise "\n" pour le code HTML et "\r" pour les fichiers.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non je disais \r et \n
    \r c'est un retour chariot (on revient tout à gauche) \n c'est une nouvelle ligne (on descend) c'est l’héritage des machines à écrire.
    Evidemment Windows, Linux et Mac n'utilisent pas les mêmes combinaisons.

    mais je te disais c'est \r pas /r
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut
    Bonjour Sabotage,

    Merci de ta réponse, mais je ne suis pas.

    Mon fichier dont les lignes se terminent par "\r" s'ouvre bien avec un éditeur de texte ou sur Mac.

    ligne_1
    ligne_2
    etc.

    Si j'ajoute "/n" je dois logiquement avoir :

    ligne_1

    ligne_2

    etc.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu comprends pas, expérimente.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Ok, j'expérimente en réel.

    C'est un fichier qu'un fournisseur doit pouvoir importer dans son système, je te tiens au courant demain en fin de journée.

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par sabotage
    mais je te disais c'est \r pas /r
    Citation Envoyé par boteha
    Si j'ajoute "/n" je dois logiquement avoir
    Attention que ta "logique" ne te soit pas trop personnelle...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Ou, \r, pas /r, c'est juste un coquille.

    J'attends le résultat des imports chez mon founisseur, merci de votre intérêt.

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations forums :
    Inscription : Juillet 2012
    Messages : 200
    Points : 342
    Points
    342
    Par défaut
    Je ne sais pas si cela peut être utile, mais il existe la constante PHP_EOL qui représente le caractère de fin de ligne sur le système sur lequel PHP est exécuté.

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ba non ça ne sert pas puisqu'il faut un retour à la ligne Windows.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Encore une fois MERCI à Sabotage.

    "\r\n" et problème résolu chez mon fournisseur.

    Pour ne pas clore cette discussion si vite, une petite question connexe.

    Il m'arrive de devoir travailler avec Excel le même fichier .txt ou .csv sur Mac et sur PC.

    Si je fais le transfert par clé USB, pas de souci.

    Si je fais par FTP, en gros je perds toutes tebulations dans le sens PC vers Mac et seule la première ligne s'ouvre dans le sens Mac vers PC.

    Je ne demande pas une solution car je l'ai avec la clé USB mais si quelqu'un a idée de la source du problème.

  13. #13
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Pour le FTP il faut probablement changer le type de transfert : ASCII ou binaire.
    Christophe

    Pensez à mettre quand c'est le cas.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 671
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Merci, je vais essayer.

Discussions similaires

  1. [XL-2007] Remplacer les retours chariot et retour à la ligne dans un fichier csv depuis Excel.
    Par Pierrea4564 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/02/2011, 12h49
  2. [CSV] Ajouter et supprimer des ligne dans un fichier CSV
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 17h00
  3. [CSV] Ne lire que la premiere ligne d'un fichier CSV
    Par passie dans le forum Langage
    Réponses: 7
    Dernier message: 05/07/2006, 12h02
  4. retour à la ligne dans un fichier texte
    Par pierrOPSG dans le forum C
    Réponses: 3
    Dernier message: 14/04/2006, 18h04
  5. retoure à la ligne dans un fichier
    Par adilou1981 dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2004, 15h05

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