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 25/07/2011, 16h58   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Par défaut Saut de ligne dans fichier CSV

Bonjour à tous,

j'ai écris un script PHP qui me permet de récupérer des adresses et numéro de téléphone. Je souhaite les insérer dans un fichier CSV. Après avoir essayé en vain d'insérer "\n", "\t", "\r" au bout de chaque ligne, j'ai décidé d'utiliser la fonction chr(10) qui insère bien un saut de ligne.
Mon souci est que lorsque j'ouvre mon fichier avec open office, cela m'indique bien une petite flèche symbole de retour à la ligne dans l'écran d'import de texte, mais une fois que j'ouvre réellement le fichier, seule la premiere ligne est presente.

Savez vous d'ou cela peut venir?

J'ai trouvé des sujets assez similaires sur le forum mais personne ne semble avoir ce souci de lignes qui disparaissent...
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 17h37   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
t'utilises bien fputcsv ?
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 15h41   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Oui tout à fait.
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 15h44   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
Citation:
Envoyé par pausg Voir le message
Oui tout à fait.
montre ton code
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 16h51   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Le code pour le fichier:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
fichier = 'test.csv';
$ff = fopen($fichier, 'w');
 
% traitement pour obtenir les lignes
.........
% à la fin de chaque ligne 
$test[] = "\n";
 
fputcsv($ff, $club, ',');
fclose($ff);
Pour l'instant j'ai trouvé une astuce en ouvrant d'abord mon CSV dans un éditeur de texte et en remplacant les \n par des sauts de lignes puis en le réouvrant avec openoffice, mais c'est pas très pratique.
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 16h54   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
la t’insères qu'une ligne
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 17h08   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Je sais la c'est juste pour vous montrer mais ma ligne est dans une boucle for.

J'arrive bien à insérer des choses à la fin de chaque ligne, mon souci c'est que open office ne les prend pas en compte.
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 17h41   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
t'as pas à rajouter de saut de ligne fputcsv le fait tout seul, pourquoi avoir mis la virgule en séparateur sachant que c'est celle par défaut ?
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 18h08   #9
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Je ne savais pas que c'était par défaut, par contre le saut de ligne il ne le fait pas...
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 18h10   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
Citation:
Envoyé par pausg Voir le message
Je ne savais pas que c'était par défaut, par contre le saut de ligne il ne le fait pas...
ouvre ton CSV dans notepad++ par exemple, et montre nous un bout, n'oublie pas pas qu'on ouvre pas un CSV mais qu'on importe un CSV
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 18h47   #11
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Ca me met tout sur une seule ligne avec des \n entre chaque ligne.
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 18h49   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
Citation:
Envoyé par pausg Voir le message
Ca me met tout sur une seule ligne avec des \n entre chaque ligne.
montre ton vrai code
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 18h59   #13
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n Adresse Président E-mail principal Téléphone travail \n
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 19h41   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
ton code pas le rendu
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h00   #15
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 59
Points : 11
Points : 11
Citation:
Envoyé par stealth35 Voir le message
ton code pas le rendu
Pardon...

voila le code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
foreach($html2->find('div.corpForm') as $e){
 
		foreach($html2->find('ul') as $ul)  {
 
			foreach($ul->find('li') as $li){
 
  		    	$test[] = strip_tags($li);
   			}
   			$test[] = "<br/>";
		}
 
}
 
fputcsv($ff, $test, ',');
fclose($ff);
pausg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 16h27   #16
Modérateur
 
Inscription : septembre 2010
Messages : 7 106
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 106
Points : 8 454
Points : 8 454
c’est bien ce que je disais t’insère qu'une seul ligne et se <br /> c'est quoi ??

Code :
1
2
3
4
5
6
7
8
9
foreach($html2->find('div.corpForm') as $e)
{
    foreach($html2->find('ul') as $ul) 
    { 
        fputcsv($ff, $ul->find('li'));
    }
}
 
fclose($ff);
je sais pas ce c'esy ta lib pour le html mais tu peu pas faire plutôt direct

__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h08.


 
 
 
 
Partenaires

Hébergement Web