(PHP 4, PHP 5, PHP 7)
file — Lit le fichier et renvoie le résultat dans un tableau
$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.
filename
Chemin vers le fichier.
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 leurs variables prédéfinies fournies.
flags
Le paramètre optionnel flags
peut être
une ou plusieurs des constantes suivantes :
FILE_USE_INCLUDE_PATH
FILE_IGNORE_NEW_LINES
FILE_SKIP_EMPTY_LINES
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.
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.
Version | Description |
---|---|
4.3.0 | file() devient compatible avec les données binaires. |
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);
?>
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. PHP peut détecter automatiquement le bogue d'un serveur IIS 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.