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` [, int `$flags` [, resource `$context` [, int `$offset` [, int `$maxlen` ]]]] )

Identique à la fonction readfile(), 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 préférée pour lire le contenu d'un fichier dans un fichier. Elle utilisera un mappage de 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().

### Liste de paramètres

`filename`

  Nom du fichier à lire.

`flags`
  Avertissement

  Pour toutes les versions antérieures à PHP 6, ce paramètre est appelé `use_include_path` et est du type bool. Le paramètre `flags` n'est disponible que depuis PHP 6. Si vous utilisez une ancienne version et que vous voulez rechercher le fichier `filename` dans le chemin d'inclusion, ce paramètre doit être défini à `TRUE`. Depuis PHP 6, vous devez utiliser le drapeau `FILE_USE_INCLUDE_PATH` à la place.

  La valeur de `flags` peut être n'importe quelle combinaison des drapeaux suivants (avec quelques restrictions), joints avec l'opérateur binaire OU (|).

  Drapeaux disponibles
  Drapeau | Description
  --- | ---
  `FILE_USE_INCLUDE_PATH` | Recherche le fichier `filename` dans le dossier d'inclusion. Voir include_path pour plus d'informations.
  `FILE_TEXT` | Si la sémantique unicode est activée, l'encodage par défaut pour la lecture des données sera UTF-8. Vous pouvez spécifier un encodage différent en créant un contexte personnalisé ou en modifiant celui par défaut en utilisant la fonction stream_default_encoding(). Ce drapeau ne peut être utilisé avec `FILE_BINARY`.
  `FILE_BINARY` | Avec ce drapeau, le fichier est lu en mode binaire. C'est la configuration par défaut et ne peut être utilisé avec `FILE_TEXT`.

`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.

`maxlen`

  La taille maximal de données à lire.

### Valeurs de retour

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

### Historique

Version | Description
--- | ---
5.0.0 | Ajout du support du contexte.
5.1.0 | Ajout des paramètres `offset` et `maxlen` .
6.0.0 | Le paramètre `use_include_path` a été remplacé par le paramètre `flags` .

### 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 et Liste des protocoles supportés pour une liste des protocoles URL supportés.

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 warnings. À 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()
- fgets()
- fread()
- readfile()
- file_put_contents()
- stream_get_contents()
- stream_context_create()

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