Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/03/2007, 12h21   #1
Invité régulier
 
Inscription : mars 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 31
Points : 7
Points : 7
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 :
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
french-petzouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 12h31   #2
Membre du Club
 
Inscription : mars 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 63
Points : 49
Points : 49
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 ??
helww est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h10   #3
Invité régulier
 
Inscription : mars 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 31
Points : 7
Points : 7
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?
french-petzouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h21   #4
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
y'a ça :

Citation:
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 !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h39   #5
Invité régulier
 
Inscription : mars 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 31
Points : 7
Points : 7
oula !!
en mettan un \r ... je devrait avoirun retour a la ligne
mais non !

peut-être que mon script n'est pas correctement synthaxé ?
french-petzouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h41   #6
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
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.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h43   #7
Invité régulier
 
Inscription : mars 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 31
Points : 7
Points : 7
sohnic

en reprenant mon bout de script tu ecrirait cela comment ?
le melange des ' et des " me paume
french-petzouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h47   #8
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Code :
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.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h49   #9
Membre du Club
 
Inscription : mars 2007
Messages : 123
Détails du profil
Informations personnelles :
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : mars 2007
Messages : 123
Points : 67
Points : 67
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 :
echo "$s c est genial !!\n mais c est dur !"
affichera :
PHP c est genial !!
mais c dur !

alors que
Code :
echo '$s c est genial !!\n mais c est dur !'
affichera :
$s c est genial !!\n mais c est dur !
jpean.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 20h01   #10
Invité régulier
 
Inscription : mars 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 31
Points : 7
Points : 7
merci
vous m'avez apporté la solution
a une prochaine fois ...
french-petzouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h46.


 
 
 
 
Partenaires

Hébergement Web