TUTORIAL: Basic PHP File I / O

  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6128
  • Loc: Seattle, WA
  • Status: Offline

Message Mars 10th, 2009, 8:44 am

Introduction


Ce tutoriel va vous apprendre à lire et à écrire des textes de base des fichiers en utilisant PHP. Connaissance élémentaire de PHP, comme l'utilisation de variables, les instructions et les fonctions, est supposée acquise.

Lecture d'un fichier


Pour lire le contenu d'un fichier dans une variable, on utilise la file_get_contents () fonction. Cette fonction accepte un nom de fichier comme argument et lit le fichier dans une variable de chaîne.

PHP Code: [ Select ]
$file_contents = file_get_contents('example.txt');
echo $file_contents;
  1. $file_contents = file_get_contents('example.txt');
  2. echo $file_contents;


Par défaut, file_get_contents () va lire le fichier entier. Si vous voulez seulement lire dans une partie du fichier, vous pouvez spécifier offset et maxlen drapeaux en tant que paramètres, qui vous permettra de préciser par où commencer la lecture et le nombre de caractères à lire dans, respectivement.

PHP Code: [ Select ]
$start = 10;  // start at the 10th character
$length = 50;  // only read in 50 characters max.
$file_contents = file_get_contents('example.txt', null, null, $start, $length);
  1. $start = 10;  // start at the 10th character
  2. $length = 50;  // only read in 50 characters max.
  3. $file_contents = file_get_contents('example.txt', null, null, $start, $length);


Le nom de fichier peut être un fichier local par rapport au script courant, comme dans les exemples ci-dessus. En outre, le fichier peut être situé sur un serveur à distance si votre installation de PHP a été configuré pour le permettre:

PHP Code: [ Select ]
$file_contents = file_get_contents('http://www.example.com');
echo $file_contents;
  1. $file_contents = file_get_contents('http://www.example.com');
  2. echo $file_contents;


Comment savez-vous si votre fichier a été lue avec succès? Si file_get_contents () échoue, il retournera un booléen FALSE. Ainsi, nous pouvons vérifier pour le fichier lisez échecs:

PHP Code: [ Select ]
$file_contents = file_get_contents('example.txt');
if( $file_contents === false ) {
  // file wasn't read successfully, handle the error
}
else {
  echo $file_contents;
}
  1. $file_contents = file_get_contents('example.txt');
  2. if( $file_contents === false ) {
  3.   // file wasn't read successfully, handle the error
  4. }
  5. else {
  6.   echo $file_contents;
  7. }


Écriture d'un fichier


Écriture d'un fichier est tout aussi simple que d'en lire un. Pour écrire dans un fichier, nous utilisons la fonction file_put_contents () . Nous passons à deux arguments de base à cette fonction, un nom de fichier et les données que nous souhaitons écrire. En cas de réussite, la fonction retourne le nombre d'octets qui ont été écrites.

Si le fichier n'existe pas, il sera créé.

PHP Code: [ Select ]
$data = "Hello World!";
$num_bytes = file_put_contents('example.txt', $data);
echo $num_bytes . ' bytes were written';
  1. $data = "Hello World!";
  2. $num_bytes = file_put_contents('example.txt', $data);
  3. echo $num_bytes . ' bytes were written';


Par défaut, file_put_contents () va complètement écraser le fichier s'il existe déjà. Si nous voulons ajouter à un fichier existant, il nous faut préciser le drapeau FILE_APPEND:

PHP Code: [ Select ]
$data = "Hello World!";
$num_bytes = file_put_contents('example.txt', $data, FILE_APPEND);
echo $num_bytes . ' bytes were written';
  1. $data = "Hello World!";
  2. $num_bytes = file_put_contents('example.txt', $data, FILE_APPEND);
  3. echo $num_bytes . ' bytes were written';


Nous utilisons le même mécanisme pour vérifier les erreurs que nous avons fait lors de la lecture d'un fichier. Le file_put_contents () retourne FALSE si elle est incapable d'écrire correctement le fichier:

PHP Code: [ Select ]
$data = "Hello World!";
$num_bytes = file_put_contents('example.txt', $data);
if( $num_bytes === false ) {
  // file wasn't written successfully
  echo 'Error writing file';
}
else {
  echo $num_bytes . ' bytes were written';
}
  1. $data = "Hello World!";
  2. $num_bytes = file_put_contents('example.txt', $data);
  3. if( $num_bytes === false ) {
  4.   // file wasn't written successfully
  5.   echo 'Error writing file';
  6. }
  7. else {
  8.   echo $num_bytes . ' bytes were written';
  9. }


Conclusion


Vous devriez maintenant avoir une connaissance élémentaire de la façon de lire et écrire des fichiers de texte simple dans PHP.

Si vous avez des questions concernant ce tutoriel, n'hésitez pas à répondre. Assurez-vous de lire la documentation pour les fonctions PHP deux ont utilisé dans ce tutorial si vous êtes bloqué:

http://www.php.net/function.file-get-contents
http://www.php.net/function.file-put-contents
Moderator Remark: De-localized PHP manual links
The Beer Monocle. Classy.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mars 10th, 2009, 8:44 am

Afficher de l'information

  • Total des messages de ce sujet: 1 message
  • Modérateur: Tutorial Writers
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC