file_exists
file_put_contents
Fonctions sur les systèmes de fichiers
PHP Manual

# file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents — Lit tout un fichier dans une chaîne

### Description

string file_get_contents ( string `$filename` [, bool `$use_include_path` = false [, resource `$context` [, int `$offset` = -1 [, int `$maxlen` = -1 ]]]] )

Identique à la fonction file(), hormis le fait que file_get_contents() retourne le fichier `filename` dans une chaîne, à partir de la position `offset`, et jusqu'à `maxlen` octets. En cas d'erreur, file_get_contents() retourne `FALSE`.

file_get_contents() est la façon recommandée pour lire le contenu d'un fichier dans une chaîne de caractères. Elle utilisera un buffer en mémoire si ce mécanisme est supporté par votre système, afin d'améliorer les performances.

> Note: Si vous ouvrez une URI avec des caractères spéciaux, comme des espaces, vous devez encoder cette URI avec la fonction urlencode().

> Note: La valeur par défaut du paramètre `maxlen` n'est actuellement pas la valeur -1 ; à la place, c'est une valeur interne de PHP qui signifie que le flux entier est copié jusqu'à la fin du fichier. La seule solution pour spécifier cette valeur par défaut est de ne pas spécifier ce paramètre dans la liste des paramètres.

### Liste de paramètres

`filename`

  Nom du fichier à lire.

`use_include_path`

  > Note: Depuis PHP 5, la constante `FILE_USE_INCLUDE_PATH` peut être utilisée pour déclencher la recherche dans le chemin d'inclusion.

`context`

  Une ressource de contexte valide, créée avec la fonction stream_context_create(). Si vous n'avez pas besoin d'utiliser un contexte particulier, vous pouvez ignorer ce paramètre en affectant la valeur `NULL`.

`offset`

  La position à partir de laquelle on commence à lire dans le flux original.

`maxlen`

  La taille maximale des données à lire. Le comportement par défaut est de lire jusqu'à la fin du fichier. Ce paramètre s'applique sur le flux traité par les filtres.

### Valeurs de retour

Retourne les données lues ou `FALSE` si une erreur survient.

### Exemples

Exemple #1 Lit et affiche le code HTML d'un site Web

`<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>`

Exemple #2 Recherche un fichier dans le include_path

`<?php
// avant PHP 5
$file = file_get_contents('./people.txt', true);
// depuis PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>`

Exemple #3 Lit une section d'un fichier

`<?php
// Lit 14 caractères à partir du 20ème
$section = file_get_contents('./people.txt', NULL, NULL, 20, 14);
var_dump($section);
?>`

L'exemple ci-dessus va afficher quelque chose de similaire à :

    string(14) "lle Bjori Ro"

Exemple #4 Utilisation des contextes de flux

`<?php
// Création d'un flux
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
// Accès à un fichier HTTP avec les entêtes HTTP indiqués ci-dessus
$file = file_get_contents('http://www.example.com/', false, $context);
?>`

### Historique

Version | Description
--- | ---
5.1.0 | Ajout des paramètres `offset` et `maxlen`.
5.0.0 | Ajout du support du contexte.

### Notes

> Note: Cette fonction gère les chaînes binaires.

Astuce

Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles supportés pour plus d'informations sur les capacités des différents gestionnaires, les notes sur leur utilisation, ainsi que les informations sur leurs variables prédéfinies fournies.

Avertissement

Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les alertes. À partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur.

### Voir aussi

- file() - Lit le fichier et renvoie le résultat dans un tableau
- fgets() - Récupère la ligne courante sur laquelle se trouve le pointeur du fichier
- fread() - Lecture du fichier en mode binaire
- readfile() - Affiche un fichier
- file_put_contents() - Écrit un contenu dans un fichier
- stream_get_contents() - Lit tout un flux dans une chaîne
- stream_context_create() - Crée un contexte de flux

file_exists
file_put_contents
Fonctions sur les systèmes de fichiers
PHP Manual