PHP - Fichiers et E / S

Ce chapitre explique les fonctions suivantes liées aux fichiers -

  • Ouvrir un fichier
  • Lire un fichier
  • Ecrire un fichier
  • Fermer un dossier

Ouverture et fermeture de fichiers

Le PHP fopen()La fonction est utilisée pour ouvrir un fichier. Il nécessite deux arguments indiquant d'abord le nom du fichier et ensuite le mode dans lequel fonctionner.

Les modes de fichiers peuvent être spécifiés comme l'une des six options de ce tableau.

Sr. Non Mode et objectif
1

r

Ouvre le fichier pour lecture uniquement.

Place le pointeur de fichier au début du fichier.

2

r+

Ouvre le fichier pour lecture et écriture.

Place le pointeur de fichier au début du fichier.

3

w

Ouvre le fichier pour l'écriture uniquement.

Place le pointeur de fichier au début du fichier.

et tronque le fichier à une longueur nulle. Si les fichiers ne fonctionnent pas

existe alors il tente de créer un fichier.

4

w+

Ouvre le fichier pour lecture et écriture uniquement.

Place le pointeur de fichier au début du fichier.

et tronque le fichier à une longueur nulle. Si les fichiers ne fonctionnent pas

existe alors il tente de créer un fichier.

5

a

Ouvre le fichier pour l'écriture uniquement.

Place le pointeur de fichier à la fin du fichier.

Si les fichiers n'existent pas, il tente de créer un fichier.

6

a+

Ouvre le fichier pour lecture et écriture uniquement.

Place le pointeur de fichier à la fin du fichier.

Si les fichiers n'existent pas, il tente de créer un fichier.

Si une tentative d'ouverture d'un fichier échoue, fopen renvoie une valeur de false sinon il renvoie un file pointer qui est utilisé pour poursuivre la lecture ou l'écriture dans ce fichier.

Après avoir apporté des modifications au fichier ouvert, il est important de le fermer avec le fclose()fonction. lefclose() fonction nécessite un pointeur de fichier comme argument, puis retourne true lorsque la fermeture réussit ou false s'il échoue.

Lire un fichier

Une fois qu'un fichier est ouvert en utilisant fopen() fonction, il peut être lu avec une fonction appelée fread(). Cette fonction nécessite deux arguments. Il doit s'agir du pointeur de fichier et de la longueur du fichier exprimée en octets.

La longueur des fichiers peut être trouvée en utilisant le filesize() fonction qui prend le nom du fichier comme argument et renvoie la taille du fichier exprimée en octets.

Voici donc les étapes nécessaires pour lire un fichier avec PHP.

  • Ouvrez un fichier en utilisant fopen() fonction.

  • Obtenez la longueur du fichier en utilisant filesize() fonction.

  • Lisez le contenu du fichier à l'aide de fread() fonction.

  • Fermez le fichier avec fclose() fonction.

L'exemple suivant affecte le contenu d'un fichier texte à une variable, puis affiche ce contenu sur la page Web.

<html>

   <head>
      <title>Reading a file using PHP</title>
   </head>
   
   <body>
      
      <?php
         $filename = "tmp.txt";
         $file = fopen( $filename, "r" );
         
         if( $file == false ) {
            echo ( "Error in opening file" );
            exit();
         }
         
         $filesize = filesize( $filename );
         $filetext = fread( $file, $filesize );
         fclose( $file );
         
         echo ( "File size : $filesize bytes" );
         echo ( "<pre>$filetext</pre>" );
      ?>
      
   </body>
</html>

Il produira le résultat suivant -

Ecrire un fichier

Un nouveau fichier peut être écrit ou du texte peut être ajouté à un fichier existant en utilisant PHP fwrite()fonction. Cette fonction nécessite deux arguments spécifiant unfile pointeret la chaîne de données à écrire. En option, un troisième argument entier peut être inclus pour spécifier la longueur des données à écrire. Si le troisième argument est inclus, l'écriture s'arrêtera une fois la longueur spécifiée atteinte.

L'exemple suivant crée un nouveau fichier texte, puis écrit un court en-tête de texte à l'intérieur. Après avoir fermé ce fichier, son existence est confirmée en utilisantfile_exist() fonction qui prend le nom de fichier comme argument

<?php
   $filename = "/home/user/guest/newfile.txt";
   $file = fopen( $filename, "w" );
   
   if( $file == false ) {
      echo ( "Error in opening new file" );
      exit();
   }
   fwrite( $file, "This is  a simple test\n" );
   fclose( $file );
?>
<html>
   
   <head>
      <title>Writing a file using PHP</title>
   </head>
   
   <body>
      
      <?php
         $filename = "newfile.txt";
         $file = fopen( $filename, "r" );
         
         if( $file == false ) {
            echo ( "Error in opening file" );
            exit();
         }
         
         $filesize = filesize( $filename );
         $filetext = fread( $file, $filesize );
         
         fclose( $file );
         
         echo ( "File size : $filesize bytes" );
         echo ( "$filetext" );
         echo("file name: $filename");
      ?>
      
   </body>
</html>

Il produira le résultat suivant -

Nous avons couvert toutes les fonctions liées à l'entrée et à la sortie de fichiers dans le chapitre Fonction du système de fichiers PHP .