Il existe plusieurs manières en PHP pour lire un fichier.
fopen( "url fichier", "Mode ouverture" );
Mode | Explication |
---|---|
r | Ouvre le fichier en lecture seule et place le pointeur au début du fichier |
r+ | Ouvre le fichier en lecture et écriture et place le pointeur au début du fichier |
w | Ouvre le fichier en écriture seule. Si le fichier existe il est écrasé (effacé), si il n’existe pas, PHP le crée. |
w+ | Ouvre le fichier en lecture et écriture. Si le fichier existe il est écrasé (effacé), si il n’existe pas, PHP le crée. |
a | Ouvre le fichier en écriture seule et place le pointeur à la fin du fichier |
a+ | Ouvre le fichier en lecture et écriture et place le pointeur à la fin du fichier |
Pour lire la première ligne de texte de votre fichier:
<?php
$file = fopen( "fichier.txt", "r" );
$content = fgets($file, 4096);
fclose($file);
La fonction fgets() récupère les 4096 premiers caractères de la première ligne de votre fichier.
Pour lire tout le fichier, il est nécessaire de parcourir toutes les lignes ainsi:
<?php
$file = fopen( "fichier.txt", "r" );
$content = "";
while(!feof($fp)) {
$content .= fgets($file, 4096);
}
fclose($file);
On remarque la présence de la fonction feof qui permet de vérifier si on est à la fin du fichier.
Pour lire un nombre précis de lignes d’un fichier vous pouvez faire une boucle manuelle :
<?php
$file = fopen( "fichier.txt", "r" );
$content = "";
for( $i = 0 ; $i < 10 ; $i++ )
$content .= fgets($file, 4096);
}
fclose($file);
<?php
$lines = file("fichier.txt");
foreach($lines as $n => $line){
echo $line . "<br />";
}
Ecrire dans un fichier suit la même logique que la lecture:
<?php
$file = fopen("fichier.txt", "a");
fwrite($file,"Mon texte");
fclose($file);
Dans cet exemple, l’ouverture se fait avec l’argument “a”, on ouvre donc le fichier en écriture et on place le curseur à la fin. Si le fichier n’existe, il est crée.