fgetcsv

(PHP 4, PHP 5)

fgetcsvRenvoie la ligne courante et cherche les champs CSV

Description

array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape ]]]] )

Similaire � fgets() mais fgetcsv() analyse la ligne qu'il lit et recherche les champs CSV, qu'il va retourner dans un tableau les contenant.

Liste de param�tres

handle

Un pointeur valide sur un fichier ouvert avec fopen(), popen() ou fsockopen().

length

Doit �tre plus grand que la plus grande ligne (en terme de caract�res) � lire dans le fichier (y compris le caract�re de fin de ligne). Ce param�tre est optionnel depuis PHP 5. Omettre ce param�tre (ou le d�finir � 0 en PHP 5.0.4 et suivant) fait que la longueur maximale de la ligne n'est pas limit�e, ce qui est l�g�rement plus lent.

delimiter

Sp�cifie le s�parateur (un seul caract�re). Par d�faut, c'est la virgule.

enclosure

Sp�cifie le caract�re de d�limitation (un seul caract�re). Par d�faut, c'est les guillemets doubles.

escape

D�finit le caract�re d'�chappement (un seul caract�re). Par d�faut, c'est un antislash (\).

Valeurs de retour

Retourne un tableau index� contenant les champs lus.

Note: Une ligne vide dans un fichier CSV sera retourn�e sous la forme d'un tableau contenant la valeur NULL et ne sera pas trait�e comme une erreur.

Note: Si vous avez des probl�mes avec PHP qui ne reconna�t pas certaines lignes lors de la lecture de fichiers qui ont �t� cr��s ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

fgetcsv() retourne FALSE en cas d'erreur, ou en cas de fin du fichier.

Historique

Version Description
5.3.0 Le param�tre escape a �t� ajout�.
4.3.5 fgetcsv() g�re d�sormais les donn�es binaires.
4.3.0 Le param�tre enclosure a �t� ajout�.

Exemples

Exemple #1 Lit et affiche le contenu d'un fichier CSV

<?php
$row 
1;
$handle fopen("test.csv""r");
while ((
$data fgetcsv($handle1000",")) !== FALSE) {
    
$num count($data);
    echo 
"<p> $num champs � la ligne $row: <br /></p>\n";
    
$row++;
    for (
$c=0$c $num$c++) {
        echo 
$data[$c] . "<br />\n";
    }
}
fclose($handle);
?>

Notes

Note: La d�finition des locales entre en jeux avec cette fonction. Si LANG vaut, e.g. en_US.UTF-8, les fichiers encod�s sur un octet sont mal lus par cette fonction.

Voir aussi

  • str_getcsv() - Analyse une cha�ne de caract�res CSV dans un tableau
  • explode() - Coupe une cha�ne en segments
  • file() - Lit le fichier et renvoie le r�sultat dans un tableau
  • pack() - Compacte des donn�es dans une cha�ne binaire
  • fputcsv() - Formate une ligne en CSV et l'�crit dans un fichier