file
(PHP 4, PHP 5)
file — Lit le fichier et renvoie le résultat dans un tableau
Description
$filename
[, int $flags
= 0
[, resource $context
]] )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.
AstuceVous 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 leurs variables prédéfinies fournies.
-
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.
-
-
context
-
Une ressource de contexte valide, créée avec la fonction stream_context_create().
Note: Le support de contexte a été ajouté en PHP 5.0.0. Pour une description des contextes, référez-vous à 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 la fin de ligne, à moins que
FILE_IGNORE_NEW_LINES
ne soit utilisé, donc, vous avez toujours besoin d'utiliser la fonction rtrim() si vous ne voulez pas de fin de lignes.
Note: Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.
Historique
Version | Description |
---|---|
5.0.0 |
Le paramètre context a été ajouté.
|
5.0.0 |
Avant PHP 5.0.0, le paramètreflags
ne couvre que l'include_path
et est activé s'il vaut 1.
|
4.3.0 | file() devient compatible avec les données binaires. |
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"; } // Un autre exemple, pour obtenir une page web dans une chaîne. Voir aussi la fonction file_get_contents(). $html = implode('', file('http://www.example.com/')); // Utilisation de drapeau, depuis PHP 5 $trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); ?>
Notes
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 un socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur.
Voir aussi
- 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
- file_get_contents() - Lit tout un fichier dans une chaîne
- include - include
- stream_context_create() - Crée un contexte de flux