Bonjour,
Après l'upload d'un document csv, comment puis je récupérer le nombre de colonne par chaque ligne ?
Merci
Bonjour,
Après l'upload d'un document csv, comment puis je récupérer le nombre de colonne par chaque ligne ?
Merci
j'ai utilisé fgets.
puis j'ai récupéré le contenu du fichier csv dans un tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $handle = fopen($filepath, "r"); while (($buffer = fgets($handle)) !== false)
Maintenant je veux savoir le nombre de colonne de chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ad = explode(";", $buffer);
Merci pour la réponse.
![]()
Mon fichier contient deux lignes. La première possède 12 colonnes et la deuxième ligne possède 10 colonnes, tant qu'il me retourne 12 dans les deux cas.
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $filename = $_POST["csvfilename"]; $filepath = $config["site_path"] . "/uploades/temp/" . $filename; $handle = fopen($filepath, "r"); while (($buffer = fgetcsv($handle, 1000, ";")) !== false) { $num = count($buffer);
pas besoin de faire 2 fois fopen,
pour le count si ton fichier CSV n'est pas bon c'est normale
J'ai pas compris comment mon fichier csv n'est pas bon !
File ton code complet ainsi que ton csv si tu veux qu'on t'aide!!!!
Le code est comme le suit :
Ci-joint un imprime écran sur le fichier csv.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $cols = $_POST["col"]; $filename = $_POST["csvfilename"]; $filepath = $config["site_path"] . "/uploades/temp/" . $filename; $handle = fopen($filepath, "r"); while (($buffer = fgetcsv($handle, 1000, ";")) !== false) { $num = count($buffer); }
Quand je fait
Il me retourne 12 pour les deux lignes, tant que les deux lignes ne sont pas équivaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo $num;
![]()
mon fichier csv contient 2 lignes : le premier possèdes 12 cellules et le deuxième possède 10 cellules, je veux tester si les les lignes de mon fichier csv ne sont pas équivaut, je vais afficher un erreur.
Mais dans mon cas les lignes sont toujours équivaux.
ah oki
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $nums = array(); while (($buffer = fgetcsv($handle, 1000, ";")) !== false) { $nums[] = count($buffer); } if (count(array_unique($nums) > 1 ) { // error }
Partager