Bonjour,
Je suis entrain de mettre en place un script pour l'extraction de pièces jointes.
Les pièces jointes sont en format CSV de ce type :
Système linux redhat , PHP 5.2, APACHE2, MYSQL 5
Fichier csv avec champs délimités par ";"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 XXXXXX;xxxxxx xxxxxx - xxxxx;xxxxxx xx xxx;xxx xx xxxx;xxxxxxx x <--- Nom colonnes YYYYY;YYYYYY YY y;YYYYY Y YYYY; YYYYYyyyyYY;YYYYYyyyyYYY <--DATA
J'ai mis en place une extraction de la pièce jointe de ce type :
Extrait du code:
Une fois la pièce jointe extraite , elle est lu par "fgetcsv" et insérée dans ma Bd puis supprimée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $piece = imap_fetchbody($mail,$j,2); if ($part->encoding == "3") { for ($i = 0; $i < count($part->parameters); $i++) { $param = $part->parameters[$i]; if ($param->attribute == "NAME") { $nom_fichier = $param->value; } else { $nom_fichier = "Nom de fichier introuvable"; } } $piece = imap_base64($piece); } $newfichier = fopen("/var/www/presta/data/data.csv","w+"); fwrite($newfichier,$piece); fclose($newfichier); } }
Voici mon problème , lorsque mon fichier csv est extrait par mon script , il est dans un format bizarre :
Toutes les lignes se termine par un "=" avec nom de colonne coupée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 xxxx xxx;xxxxxx- xxxx;xxxxxx xx xxxxx;xxxxxxx;xxx= xxxxx;xxxxxxx;xxxxxxxxx;xxxx;xxxxxxx;xxxxx;xxxxxxx;x=
J'ai dessuite pensé à un problème de retour chariot, j'ai essayé "/n" et meme "/r/n" mais aucun résultat.
Si vous avez une idée ou une meilleure solution.
Merci d'avance de votre aide.
Partager