Fonction fgetcsv() PHP
Définition et utilisation
La fonction fgetcsv() lit une ligne à partir du pointeur de fichier et analyse les champs CSV.
Avec fgets() De manière similaire, mais différemment, fgetcsv() analyse la ligne lue et recherche les champs au format CSV, puis renvoie un tableau contenant ces champs.
fgetcsv() renvoie FALSE en cas d'erreur, y compris à la fin du fichier.
Remarque :Depuis PHP 4.3.5, l'opération de fgetcsv() est sécurisée en mode binaire.
Syntaxe
fgetcsv(file,length,separator,enclosure)
Paramètres | Description |
---|---|
file | Obligatoire. Définit le fichier à vérifier. |
length |
Optionnel. Définit la longueur maximale d'une ligne. Doit être supérieur à la plus longue ligne du fichier CVS. Ce paramètre est optionnel dans PHP 5. Il était obligatoire avant PHP 5. Si vous ignorez ce paramètre (paramètre définissant à 0 dans les versions de PHP 5.0.4 et suivantes), la longueur n'est pas limitée, bien que cela puisse affecter l'efficacité de l'exécution. |
separator | Optionnel. Définir le délimiteur des champs (un seul caractère autorisé), la valeur par défaut est la virgule. |
enclosure |
Optionnel. Définir les caractères d'encapsulation des champs (un seul caractère autorisé), la valeur par défaut est la guillemet double. Ce paramètre a été ajouté dans PHP 4.3.0. |
Avis et commentaires
Remarque :Les lignes vides dans le fichier CSV seront retournées sous forme d'un tableau contenant un seul champ null, sans être considérées comme une erreur.
Remarque :Cette fonction est sensible aux réglages de la région. Par exemple, si LANG est réglé sur en_US.UTF-8, les fichiers codés en mono-octet peuvent entraîner des erreurs de lecture.
Remarque :Si PHP ne peut pas reconnaître le symbole de fin de ligne des fichiers Macintosh lors de la lecture de fichiers, vous pouvez activer l'option de configuration runtime auto_detect_line_endings.
Exemple
Exemple 1
<?php $file = fopen("contacts.csv","r"); print_r(fgetcsv($file)); fclose($file); ?>
Fichier CSV :
George, John, Thomas, USA James, Adrew, Martin, USA
Sortie similaire :
Tableau ( [0] => George [1] => John [2] => Thomas [3] => USA )
Exemple 2
<?php $file = fopen("contacts.csv","r"); while(! feof($file)) { print_r(fgetcsv($file)); } fclose($file); ?>
Fichier CSV :
George, John, Thomas, USA James, Adrew, Martin, USA
Sortie similaire :
Tableau ( [0] => George [1] => John [2] => Thomas [3] => USA Tableau ( [0] => James [1] => Adrew [2] => Martin [3] => USA )