logo oujood
🔍

Lire et obtenir des information à partir d’un fichier en php

OUJOOD.COM

PHP - ouvrir et lire un fichier

Avant de commencer à lire des informations à partir d'un fichier, nous devons ouvrir le fichier en lecture avec la fonction fopen(). Voici le code pour ouvrir en lecture le fichier que nous avons créé dans le chapitre précédent.
Code PHP :

Exemple :     📋 Copier le code

<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
?>

Le fichier que nous avons créé dans la leçon précédente a été nommé "testFile.txt".

Voici le contenu du fichier testFile.txt :

René du Bois
Michel le Petit
Sara La Belle

Maintenant que le fichier est ouvert, avec des autorisations de lecture activées, nous pouvons commencer !

PHP - lecture du fichier : La fonction fread()

La fonction fread() est la fonction de base pour obtenir des données à partir d'un fichier. Cette fonction nécessite un descripteur de fichier, que nous avons déjà, et un nombre entier pour indiquer à la fonction la quantité de données, en octets, qu'elle doit lire.

Un caractère est égal à un octet. Si vous voulez lire les cinq premiers caractères, vous devez utiliser 5 comme nombre entier.
Code PHP :

Exemple :     📋 Copier le code

<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, 5);
fclose($fh);
echo $theData;
?>

Affichage :
René

Les cinq premiers caractères du fichier testFile.txt sont maintenant stockés dans la variable $theData. Vous pourriez afficher cette chaîne $theData avec la fonction echo comme dans l'exemple, l'écrire dans un autre fichier ou faire ce que vous voulez avec.

Si vous voulez lire toutes les données du fichier, alors vous devez obtenir la taille du fichier. La fonction filesize() retourne la taille d'un fichier, en octets, ce qui est exactement ce dont nous avons besoin !

La fonction filesize() prend comme paramètre le nom du fichier dont la taille doit être déterminée.
Code PHP :

Exemple :     📋 Copier le code

<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
echo $theData;
?>

Affichage :
René du Bois Michel le Petit Sara La Belle

Note : Il est sur une seule ligne, parce que notre fichier "testFile.txt" n'a pas de balise <br> pour créer un saut de ligne HTML. Maintenant, tout le contenu du fichier testFile.txt est stocké dans la variable $theData.

PHP - lecture de fichier : La fonction fgets()

PHP vous permet également de lire une ligne de données à la fois à partir d'un fichier avec la fonction fgets(). Cela peut vous être utile.

Si vous aviez séparé vos données avec des retours à la ligne, alors vous pourriez lire un segment de données à la fois avec la fonction fgets().

Heureusement pour nous, le contenu de notre fichier "testFile.txt" est séparé par des retours à la ligne et nous pouvons donc utiliser la fonction fgets().
Code PHP :

Exemple :     📋 Copier le code

<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
$theData = fgets($fh);
fclose($fh);
echo $theData;
?>

Exemple avancé : Gestion des erreurs

Il est important de vérifier si le fichier peut être ouvert avant de tenter de le lire :

Exemple :     📋 Copier le code

<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');
if ($fh) {
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
} else {
    echo "Impossible d'ouvrir le fichier " . $myFile;
}
?>

Méthode moderne : file_get_contents()

PHP offre une méthode plus simple pour lire tout le contenu d'un fichier :

Exemple :     📋 Copier le code

<?php
$myFile = "testFile.txt";
$theData = file_get_contents($myFile);
if ($theData !== false) {
    echo $theData;
} else {
    echo "Erreur lors de la lecture du fichier";
}
?>


Par carabde 20 Août 2014 | mise à jour 19 janvier 2022