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.
ton fichier n'est pas correct montre ton code
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 logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.
Linus Torvalds
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 }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager