0Pricing
PHP Academy · Leçon

Lire des fichiers avec PHP

Lire le contenu de fichiers avec file_get_contents et fopen/fread.

Lire des fichiers avec PHP est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

PHP et le système de fichiers

PHP peut lire, écrire et gérer des fichiers sur le système de fichiers du serveur. Voici les principales fonctions de lecture :

  • file_get_contents() — lire un fichier entier sous forme de chaîne
  • fopen() + fread() — lecture sous forme de flux
  • file() — lire un fichier dans un tableau de lignes

file_get_contents()

La manière la plus simple de lire tout le contenu d'un fichier dans une chaîne :

<?php
$content = file_get_contents('/var/www/html/data.txt');

if ($content === false) {
    echo 'Could not read file';
} else {
    echo $content;
    echo strlen($content) . ' bytes';
}

Vérifier l'existence d'un fichier

Vérifiez toujours l'existence du fichier avant de le lire afin d'éviter les erreurs :

<?php
$path = '/var/data/config.json';

if (!file_exists($path)) {
    die('Config file not found');
}

if (!is_readable($path)) {
    die('No permission to read file');
}

$json = file_get_contents($path);
$config = json_decode($json, true);

file() — lire dans un tableau

file() lit un fichier et renvoie chaque ligne comme élément d'un tableau :

<?php
$lines = file('data.csv', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

foreach ($lines as $lineNum => $line) {
    echo ($lineNum + 1) . ': ' . $line . PHP_EOL;
}

fopen, fread, fclose

Lecture de flux de bas niveau pour les fichiers volumineux : traitez-les sans tout charger en mémoire :

<?php
$handle = fopen('large_file.txt', 'r');

if ($handle === false) die('Cannot open file');

// Read 1KB at a time
while (!feof($handle)) {
    $chunk = fread($handle, 1024);
    echo $chunk;
}

fclose($handle);

fgets pour lire ligne par ligne

fgets() lit une ligne à la fois, ce qui économise la mémoire pour les fichiers volumineux :

<?php
$handle = fopen('server.log', 'r');

while (($line = fgets($handle)) !== false) {
    if (str_contains($line, 'ERROR')) {
        echo 'Found error: ' . $line;
    }
}

fclose($handle);

Lire des fichiers distants

file_get_contents() peut également lire des URL HTTP si allow_url_fopen est activé :

<?php
$json = file_get_contents('https://api.example.com/data.json');

// Prefer cURL for more control and error handling
$ch = curl_init('https://api.example.com/data.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status   = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

SplFileObject

SplFileObject fournit une interface OO pour les opérations sur les fichiers :

<?php
$file = new SplFileObject('data.txt', 'r');

foreach ($file as $lineNum => $line) {
    echo $lineNum . ': ' . $line;
}

// Read specific line:
$file->seek(5);
echo $file->current(); // line 6 (0-indexed)

Lire des fichiers JSON

Un schéma courant consiste à lire et décoder un fichier de configuration JSON :

<?php
function loadJsonConfig(string $path): array {
    if (!file_exists($path)) {
        throw new RuntimeException("Config not found: $path");
    }
    $json = file_get_contents($path);
    $data = json_decode($json, true);
    if (json_last_error() !== JSON_ERROR_NONE) {
        throw new RuntimeException('Invalid JSON: ' . json_last_error_msg());
    }
    return $data;
}

$cfg = loadJsonConfig('/app/config.json');

Informations sur les fichiers

Obtenez les métadonnées d'un fichier sans lire son contenu :

<?php
$path = '/var/www/html/image.jpg';

echo filesize($path);           // bytes
echo filetype($path);           // 'file'
echo filemtime($path);          // last modified timestamp
echo date('Y-m-d', filemtime($path));

$info = pathinfo($path);
echo $info['dirname'];    // /var/www/html
echo $info['basename'];   // image.jpg
echo $info['extension'];  // jpg

Verrouiller les fichiers

Utilisez le verrouillage des fichiers pour empêcher les conflits d'écriture simultanés :

<?php
$handle = fopen('counter.txt', 'r+');

if (flock($handle, LOCK_EX)) {  // exclusive lock
    $count = (int) fread($handle, 20);
    $count++;
    fseek($handle, 0);
    fwrite($handle, $count);
    fflush($handle);
    flock($handle, LOCK_UN);    // release
}

fclose($handle);

Vérification rapide

Quelle fonction PHP lit tout un fichier dans une chaîne en un seul appel ?

Récapitulatif : lecture des fichiers

Les bases de la lecture des fichiers :

  • file_get_contents() — fichier entier sous forme de chaîne
  • file() — fichier sous forme de tableau de lignes
  • fopen/fread/fclose — flux pour les fichiers volumineux
  • fgets() — lecture en flux, ligne par ligne
  • Vérifiez toujours d'abord file_exists et is_readable
  • Utilisez flock pour garantir la sécurité des accès simultanés

Questions Fréquemment Posées

La leçon « Lire des fichiers avec PHP » est-elle gratuite ?

Oui — le texte complet de « Lire des fichiers avec PHP » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Lire des fichiers avec PHP » ?

Lire le contenu de fichiers avec file_get_contents et fopen/fread. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Lire des fichiers avec PHP » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Lire des fichiers avec PHP
  2. Écrire dans des fichiers et y ajouter du contenu
  3. Travailler avec les répertoires
  4. Gérer les téléversements de fichiers
← Retour à PHP Academy