# file

(PHP 4, PHP 5, PHP 7, PHP 8)

file — Lit le fichier et renvoie le résultat dans un tableau

### Description

file(string `$filename`, int `$flags` = 0, ?resource `$context` = `null`): array|false

Lit le fichier et renvoie le résultat dans un tableau.

> Note:

> Vous pouvez utiliser la fonction file_get_contents() pour retourner le contenu d'un fichier dans une chaîne de caractères.

### Liste de paramètres

`filename`

  Chemin vers le fichier.

  Astuce

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

`flags`

  Le paramètre optionnel `flags` peut être une ou plusieurs des constantes suivantes :

  `FILE_USE_INCLUDE_PATH`
    Recherche le fichier dans l'include_path.
  `FILE_IGNORE_NEW_LINES`
    N'ajoute pas de nouvelle ligne à la fin de chaque élément du tableau.
  `FILE_SKIP_EMPTY_LINES`
    Ignore les lignes vides.
  `FILE_NO_DEFAULT_CONTEXT`
    N'utilise pas le contexte par défaut.
`context`

  > Note: Une resource de contexte de flux.

### Valeurs de retour

Retourne le fichier dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retours-chariot sont placés en fin de ligne. Si une erreur survient, file() retournera `false`.

> Note:

> Chaque ligne du tableau résultant inclura une fin de ligne, à moins que `FILE_IGNORE_NEW_LINES` soit utilisé.

> Note: Si PHP ne reconnaît pas correctement les fins de lignes lors de la lecture de fichiers qui ont été créés ou lus sur un Macintosh, l'activation de l'option de configuration auto_detect_line_endings peut régler le problème.

### Erreurs / Exceptions

À partir de PHP 8.3.0, une exception ValueError est levée si le `flags` contient des valeurs invalides, comme `FILE_APPEND`.

Émet une erreur de niveau `E_WARNING` si le fichier n'existe pas.

### Historique

Version | Description
--- | ---
8.3.0 | Une exception ValueError est levée pour toute valeur invalide du `flags`.

### Exemples

Exemple #1 Exemple avec file()

`<?php
// Lit une page web dans un tableau.
$lines = file('http://www.example.com/');
// Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
// Utilisation de drapeau
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>`

### Notes

Avertissement

Lorsque SSL est utilisé, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer un indicateur `close_notify`. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. Pour contourner ce le niveau de la directive error_reporting doit être baissée pour ne pas inclure les avertissements. PHP peut détecter automatiquement les serveur IIS bogué lors de l'ouverture du flux en utilisant `https://` et supprimera l'avertissement. Lors de l'utilisation de fsockopen() pour créer un socket `ssl://`, c'est au développeur de détecter et supprimer l'avertissement.

### Voir aussi

- file_get_contents() - Lit tout un fichier dans une chaîne
- readfile() - Affiche un fichier
- fopen() - Ouvre un fichier ou une URL
- fsockopen() - Ouvre un socket de connexion Internet ou Unix
- popen() - Crée un processus de pointeur de fichier
- include - include
- stream_context_create() - Crée un contexte de flux