J'essaie de lire les données d'un fichier.csv pour le sortir sur une page Web en tant que texte.problème avec PHP lecture de fichiers CSV
C'est la première fois que je fais cela et j'ai rencontré un petit problème.
Mon fichier .csv (qui est ouvert par Excel par défaut), a plusieurs lignes et j'ai lu le tout comme une longue chaîne.
comme ceci:
$contents = file_get_contents("files/data.csv");
Dans ce fichier exemple que j'ai fait, il y a 2 lignes.
Paul Blueberryroad 85 nous Lampe de poche, sac 20 Novembre, 2008, 16:39
Hellen Blueberryroad 85 nous lens13mm, lampe de poche, sac, ExtraBatteries Novembre 20, 2008, 16:41: 32
Mais la chaîne lu par PHP est la suivante:
Paul, Blueberryroad 85, nous, lampe de poche, sac, 20 Novembre 2008, 04:39 pmHell en, Blueberryroad 85, nous, lens13mm, lampe de poche, sac ExtraBatteries,, 20 Novembre 2008, 16:41:32
Je vais partager cela avec:
list($name[], $street[], $country[], $accessories[], $orderdate[]) = split(";",$contents);
Ce que je veux pour le nom de $ [] pour contenir "Paul" et "Hellen" comme contenu. Et les autres tableaux pour recevoir les valeurs de leurs colonnes respectives.
Au lieu de cela je reçois que Paul et le contenu de OrderDate $ [] est
20 Novembre 2008, 04:39 pmHellen
Donc, toutes les lignes sont concaténés. Quelqu'un peut-il me montrer comment je peux réaliser ce dont j'ai besoin?
EDIT: solution trouvée, juste une chose werid restant:
Je l'ai résolu maintenant en utilisant ce morceau de code:
$fo = fopen("files/users.csv", "rb+");
while(!feof($fo)) {
$contents[] = fgetcsv($fo,0,';');
}
fclose($fo);
Pour une raison quelconque, allthough mon seul fichier CSV a 2 rows, retourne 2 tableaux et 1 booléen. Les 2 premiers sont mes tableaux de données et le booléen est 0.
Pourquoi vous n'utilisez pas fgetcsv? (http://php.net/fgetcsv) –
ne l'a pas connu excisted jusqu'à ce que mentionné ici – Vordreller