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 :

Ecrire un fichier .txt avec des retours chariot


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut Ecrire un fichier .txt avec des retours chariot
    Bonjour
    soit un tableau associatif "$doc " que je lis via une boucle foreach..

    mon but = ecrire un fichier .txt qui contient sur CHAQUE ligne un element $clé et un element $valeur de mon array.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    foreach ($doc as $cle=>$valeur)
    {
    $nouveau_contenu.=$cle. ' pour '.$valeur.'\n';
    }
    file_put_contents( "data_manuels.txt", $nouveau_contenu)
    ce script m'écrit bien les données du ARRAY $doc dans un fichier mais ...je n'ai JAMAIS de RETOUR a la LIGNE quand je le lit avec un editeur de texte.

    j'ai changé \n par \r et pa \r\n et par d'autre chose mais ... NIET pas de retour a la ligne dans le fichier nouvellement créé .

    Comment faire pour avoir chaque couple cle/valeur sur une LIGNE PROPRE ?

    je vous remercie

  2. #2
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 64
    Points
    64
    Par défaut oui mais quel editeur
    Mais avec quel éditeur tu lis ton fichier , le blocnotes , a ce que j'ai remarqué ne prends pas en charge les retoures chariots de \n mais le wordpad si , sinon tu peux lire ton ficher avec IE
    Résolu ??

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut
    Non pas résolu

    je suis sur Mac et que ce soit avec - Word ou - TexEdit ou autre ... j'ai tout sur une seule ligne.

    D'autres idées?

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    y'a ça :

    Note: Les systèmes d'exploitation utilisent différents caractères pour les nouvelles lignes. Lorsque vous écrivez un fichier texte, et insérez une nouvelle ligne, vous devez utiliser le bon caractère pour votre système d'exploitation. Les systèmes Unix utilisent \n comme nouvelle ligne, les systèmes Windows utilisent \r\n, et les systèmes Macintosh utilisent \r.
    http://www.php.net/manual/fr/function.fopen.php

    Sinon, il existe la constante PHP_EOL, qui se charge de mettre le bon caractère de fin de ligne suivant l'OS de ton serveur

    http://www.php.net/manual/fr/reserved.constants.php
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut
    oula !!
    en mettan un \r ... je devrait avoirun retour a la ligne
    mais non !

    peut-être que mon script n'est pas correctement synthaxé ?

  6. #6
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Que ce soit \n \r ou n'importe quel caractere escapé, il faut le mettre entre double quote :
    "\n"
    et non '\n'

    Sohnic
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut
    sohnic

    en reprenant mon bout de script tu ecrirait cela comment ?
    le melange des ' et des " me paume

  8. #8
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach ($doc as $cle=>$valeur)
    {
    $nouveau_contenu.=$cle. ' pour '.$valeur."\n";
    }
    file_put_contents( "data_manuels.txt", $nouveau_contenu)
    par exemple...

    S.
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    en fait, c'est pas dur :
    le simple quote recopie le texte STRICTEMENT SANS MODIFICATIONS alors que le double quote remplace les variables par leur valeurs, accepte les caractères de remplacement (\r, \t, \n, ...)

    exemple ($s = "PHP"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "$s c est genial !!\n mais c est dur !"
    affichera :
    PHP c est genial !!
    mais c dur !

    alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '$s c est genial !!\n mais c est dur !'
    affichera :
    $s c est genial !!\n mais c est dur !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 43
    Points
    43
    Par défaut
    merci
    vous m'avez apporté la solution
    a une prochaine fois ...

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

Discussions similaires

  1. Importer un fichier txt avec des titres indésirables
    Par piflechien73 dans le forum VBA Access
    Réponses: 17
    Dernier message: 24/09/2010, 16h27
  2. Réponses: 1
    Dernier message: 20/11/2007, 15h12
  3. Ecrire un fichier binaire avec des caractères
    Par stokastik dans le forum C
    Réponses: 18
    Dernier message: 17/08/2006, 17h40
  4. [JSTL 1.0.6] affichage d'un texte avec des retour chariots
    Par clettebou dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/08/2006, 10h16
  5. probleme d'import de fichier txt avec des tab
    Par lecureuil dans le forum Access
    Réponses: 4
    Dernier message: 23/08/2005, 19h22

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