Lire un fichier ligne par ligne et récupérer son contenu avec PHP

Il est possible de faire de très nombreuses choses avec PHP. Ce qui est disponible sur les autres langages de programmation le sera très probablement sur PHP. Aujourd’hui nous allons voir comment lire un fichier ligne par ligne et récupérer le contenu de la ligne courante.

Rien de bien compliqué, mais si cela vous aider en tant que débutant, c’est avec plaisir ! Si vous commencez à faire une application un peu plus complexe, il est possible qu’à un moment vous ayez besoin de manipuler des fichiers. Voir même de parcourir leur contenu pour faire différentes actions. Je ferais différents tutoriels pour chaque besoin et aujourd’hui on va vraiment se concentrer sur une chose : ouvrir un fichier et lire son contenu ligne par ligne avec PHP.

Pour l’exemple, vous pouvez donc utiliser un .txt, un .csv, un .json, un .sql bref tant que c’est directement lisible facilement. Une source d’erreur répandue, c’est le chemin de votre fichier qui n’est pas bon, mais PHP vous le dira de manière explicite.

<?
// ouverture du fichier
$fh = fopen('monfichier.csv', 'r');
// tant que je ne suis pas à la fin du fichier
while (!feof($fh)) {
    // je récupère la ligne courante
    $ligne = fgets($fh);
    // j'affiche le contenu de la ligne
    echo 'Contenu de la ligne : ' . $ligne . "\n";
}
// je ferme mon fichier
fclose($fh);

Attention même si ce script est vraiment très simple, il faudra faire attention au paramètre que vous donnez à fopen(). En effet, ici « r » permet d’ouvrir en lecture seule. Si vous allez voir la documentation de cette fonction PHP, vous verrez qu’il existe d’autre paramètres. Ils seront utiles pour de futurs tutoriels mais si vous utilisez autre chose que le paramètre « r » pour ce tutoriel, vous pourriez écraser votre fichier et perdre son contenu.

Si j’exécute ce petit script PHP dans mon terminal, j’obtiens alors le résultat suivant :

Mon script qui s’exécute

Exactement ce que l’on voulait en quelques lignes, maintenant vous pouvez commencer à manipuler ce contenu dans la variable $ligne pour faire autre chose !

Laisser un commentaire