Les données de CSV comme ci-dessous, une seule colonnephp importer des données csv mais dans une matrice
| BeKwX8iN3wzHDvCaxBD1 |
| 3rPB9t6EF3RGla28YbLE |
| OAYRwbrkctcVbrXaaTef |
| N8lxYdvx47FI7eYt5FUX |
| zwtRdHr3aYYnX9avcMjX |
.....
Contenu du fichier
regard: https://drive.google.com/a/hiiir.com/file/d/0B4ZVHStLEPq3bklUUHkzbDN1MkE/view?usp=sharing
Le code
$row = 1;
if (($handle = fopen($serial['tmp_name'], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
la question est que lorsque J'imprime $num
, j'ai int (1), parce qu'ils sont tous dans un tableau()
array(1) {
[0]=>
"BeKwX8iN3wzHDvCaxBD1
3rPB9t6EF3RGla28YbLE
OAYRwbrkctcVbrXaaTef
N8lxYdvx47FI7eYt5FUX
zwtRdHr3aYYnX9avcMjX"}
Je sais fgetcsv()
contrôler par $ delimiter, et ce cas est ,
, mais il ne convient pas pour mon cas. Est-il possible de séparer par 20 caractères?
Semble pas CSV vrai, alors pourquoi en utilisant 'fgetcsv' si chaque ligne du fichier ressemble à' | abc | 'alors faire' array_map (function ($ a) {return trim ($ a, '|');}, fichier ($ se rial ['tmp_name'])); 'pour obtenir les données dans un tableau (une entrée pour atteindre la ligne) ou utiliser' fgets() 'au lieu de' fgetcsv() '. – JustOnUnderMillions
Et vous pouvez changer le 'délimiteur $' à tout ce dont vous avez besoin, lire plus: http://php.net/manual/fr/function.fgetcsv.php – JustOnUnderMillions