PHP débutant - La gestion des fichiers textes en php

PHP débutant - La gestion des fichiers textes en php

La gestion des fichiers n'est pas particulièrement simple en PHP mais facilement abordable pour un débutant. D'un autre coté les fichiers textes sont une bonne alternative à la BDD. PHP possède toute une série de fonctions qui vous permettront de créer, écrire, modifier et supprimer un fichier texte. PHP propose également des fonctions comme chmod() pour changer le mode du fichier directement en ligne si votre serveur l'autorise, et bien d'autre fonctions pour les accès aux fichiers distants !!


Sommaire :



PHP débutant - La gestion des fichiers textes en php

PHP Fichier - Comment ouvrir un fichier ?

La fonction fopen est utilisé pour ouvrir un fichier.

Le premier paramètre de la fonction est le nom du fichier et le second paramètre est le mode dans lequel vous pouvez ouvrir votre fichier.

.01
.02
.03
.04
.05
.06
.07
.08
  <html>
<body>
<?php
$f
=fopen("exemple.txt","r");
?>
</body>
</html>

PHP Fichier - Les différents modes.

Le fichier peut être ouvert dans un des modes suivants :

Modes et descriptions des différents modes :

'r' Ouvre en lecture seule : Le pointeur est placé au début du fichier.
'r+' Ouvre en lecture/écriture : Le pointeur est placé au début du fichier.
'w' Ouvre en écriture seule : Le pointeur est placé au début du fichier. Réduit la taille du fichier à 0. Tentative de création si celui ce n'existe pas.
'w+' Ouvre en lecture/écriture : Le pointeur est placé au début du fichier. Réduit la taille du fichier à 0. Tentative de création si celui ce n'existe pas.
'a' Ouvre en écriture seule : Le pointeur est placé au début du fichier. Tentative de création si celui ce n'existe pas.
'a+' Ouvre en lecture/écriture : Le pointeur est placé à la fin du fichier. Tentative de création si celui ce n'existe pas.
'x' Crée et ouvre le fichier en lecture seule : Le pointeur est placé au début du fichier. Si le fichier existe déjà, fopen va échouer.
'x+' Crée et ouvre le fichier en lecture/écriture : Le pointeur est placé au début du fichier. Si le fichier existe déjà, fopen va échouer.

Note

Si la fonction fopen() echoue lors de l'ouverture du fichier, celle ci retourne 0


Exemple :

L'exemple ci dessous génère un message si la fonction fopen() est incapable d'ouvrir le fichier spécifié.

.01
.02
.03
.04
.05
.06
.07
.08
.09
  <html>
<body>
<?php
if (!($f=fopen("exemple.txt","r")))
exit(
"Unable to open file!");
?>
</body>
</html>

PHP Fichier - Fermer un fichier.

La fonction fclose() est utilisé pour fermer un fichier.

Syntaxe :
.01
.02
.03
.04
  <?php
fclose
($f);
?>

PHP Fichier - Écrire dans un fichier.


L'écriture dans un fichier texte se fait avec la fonction fwrite(). Pour faire des retour à la ligne vous devez utiliser : "\r\n"

.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
  <?php

$f
= 'exemple.txt';
$text = "ma chaine de caractères";
$handle = fopen($f,"w");

// regarde si le fichier est accessible en écriture
if (is_writable($f)) {
// Ecriture
   
if (fwrite($handle, $text) === FALSE) {
      echo
'Impossible d\'écrire dans le fichier '.$f.'';
      exit;
    }
   
    echo
'Ecriture terminé';
   
   
fclose($handle);
                   
}
else {
      echo
'Impossible d\'écrire dans le fichier '.$f.'';
    }

?>

PHP Fichier - Compter le nombre de lignes.

A l'aide de 2 fonctions. L'une place le fichier dans un tableau et l'autre pour compter les lignes du tableau.

.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
  <?php

$f
= 'exemple.txt';
if(
file_exists($f)) {
   
$tab = file($f);  // place le fichier dans un tableau
   
$nb = count($tab);    // compte le nombre de ligne
   
echo $nb// Affiche le résultat
}

?>

PHP Fichier - Trouver la fin d'un fichier.

La fonction feof() est utilisé pour déterminer si le pointeur est placé à la fin du fichier ou lister un fichier jusqu'au dernier caractère.

.01
.02
.03
.04
.05
  <?php
if (feof($f))
echo
'Fin du fichier';
?>

Et voilà!! Vous voyez que c'est très simple de récupérer un contenu de fichier. Dans les 2 possibilités donnée ci dessus le résultat se trouve dans la chaine de caractère "$contents".

PHP Fichier - Comment lire caractère par caractère ?

La fonction fgetc() est utilisé pour lire les caractères dans un fichier


Exemple :

L'exemple suivant fait la lecture du fichier caractère par caractère jusqu'à la fin du fichier
.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
  <?php
if (!($f=fopen("exemple.txt","r")))
exit(
"Impossible d'ouvrir le fichier.");
while (!
feof($f))
{
$texte=fgetc($f);
echo
$texte;
}
fclose($f);
?>