Vous êtes ici Tutoriel > La gestion des fichiers textes en php

 
 

PHP - La gestion des fichiers textes en php

Tutoriel écrit par KOogar
Ecrit le 18 Jan 2005 - modifié le 1 Déc 2006

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 - 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';
?>

PHP Fichier - Récupérer le contenu.


Nous allons nous servir de la fonction file_get_contents pour récupérer l'integralité du fichier ou utiliser fopen avec fread. Et tout ceci n'a rien de compliqué!

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

$contents
= file_get_contents("url du fichier");

// Ou Avec fopen, fread

$fd = fopen($texte, 'r'); // Ouverture du fichier en lecture seule
//Récupère le contenu du fichier
// et le place dans une chaine de caractères ($contents)
$contents = fread($fd, filesize($filename));
fclose($fd); //Fermeture 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);
?>


© Copyright: Les tutoriels sont exclusifs et sont la propriétés des auteurs.
    Reproduction interdite.