Manuel PHP
Précédent |  | Suivant

# file

(PHP 3, PHP 4 , PHP 5)

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

## Description

array file ( string filename [, int use_include_path [, resource context]] )

file() est identique à readfile(), hormis le fait que file() retourne le fichier filename dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne.

> Note : Chaque élément du tableau résultat contiendra la nouvelle ligne de fin de chaîne. Il faudra donc utiliser rtrim() sur cette valeur pour la supprimer.

Vous pouvez utiliser l'option use_include_path : en la mettant à "1", vous rechercherez aussi dans le dossier include_path. file() utilise le contexte context, pour les connexions réseau.

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 'Ligne No <strong>' . $line_num . '</strong> : ' . 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/')); ?>`

> Note : Depuis PHP 4.3.0, vous pouvez utiliser file_get_contents() pour lire le contenu d'un fichier dans une chaîne.

> En PHP 4.3.0, file() est désormais compatible avec les données binaires.

> Note : Le support de contexte a été ajouté en PHP 5.0.0.

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. A 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 readfile(), fopen(), fsockopen(), popen(), file_get_contents() et include().

Précédent | Sommaire | Suivant
file_put_contents | Niveau supérieur | fileatime