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 à file_get_contents(), 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. Pour une description des `contexts`, référez-vous à Référence CLVIII, Flux.

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

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