Rechercher une fonction PHP

file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

file_get_contentsLit tout un fichier dans une chaîne

Description

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

Identique à la fonction file(), hormis le fait que file_get_contents() retourne le fichier filename dans une chaîne, à partir de la position offset, et jusqu'à maxlen octets. En cas d'erreur, file_get_contents() retourne FALSE.

file_get_contents() est la façon recommandée pour lire le contenu d'un fichier dans une chaîne de caractères. Elle utilisera un buffer en mémoire si ce mécanisme est supporté par votre système, afin d'améliorer les performances.

Note:

Si vous ouvrez une URI avec des caractères spéciaux, comme des espaces, vous devez encoder cette URI avec la fonction urlencode().

  

Liste de paramètres

filename

Nom du fichier à lire.

use_include_path

Note:

Depuis PHP 5, la constante FILE_USE_INCLUDE_PATH peut être utilisée pour déclencher la recherche dans le chemin d'inclusion.

context

Une ressource de contexte valide, créée avec la fonction stream_context_create(). Si vous n'avez pas besoin d'utiliser un contexte particulier, vous pouvez ignorer ce paramètre en affectant la valeur NULL.

offset

La position à partir de laquelle on commence à lire dans le flux original.

Le déplacement dans le fichier (offset) n'est pas supporté sur des fichiers distants. Si vous tentez de vous déplacer dans un fichier qui n'est pas un fichier local peut fonctionner sur les petits déplacements, mais le comportement peut ne pas être attendu car le processus utilise le flux du buffer.

maxlen

La taille maximale des données à lire. Le comportement par défaut est de lire jusqu'à la fin du fichier. Ce paramètre s'applique sur le flux traité par les filtres.

  

Valeurs de retour

Retourne les données lues ou FALSE si une erreur survient.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

  

Erreurs / Exceptions

Émet une alerte de type E_WARNING si, filename ne peut être trouvé, si le paramètre maxlength est plus petit que zéro, ou si le déplacement à la position offset spécifié dans le flux échoue.

  

Exemples

Exemple #1 Lit et affiche le code HTML d'un site Web

<?php
$homepage 
file_get_contents('http://www.example.com/');
echo 
$homepage;
?>

Exemple #2 Recherche un fichier dans le include_path

<?php
// avant PHP 5
$file file_get_contents('./people.txt'true);
// depuis PHP 5
$file file_get_contents('./people.txt'FILE_USE_INCLUDE_PATH);
?>

Exemple #3 Lit une section d'un fichier

<?php
// Lit 14 caractères à partir du 20ème
$section file_get_contents('./people.txt'NULLNULL2014);
var_dump($section);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

string(14) "lle Bjori Ro" 

Exemple #4 Utilisation des contextes de flux

<?php
// Création d'un flux
$opts = array(
  
'http'=>array(
    
'method'=>"GET",
    
'header'=>"Accept-language: en\r\n" .
              
"Cookie: foo=bar\r\n"
  
)
);

$context stream_context_create($opts);

// Accès à un fichier HTTP avec les entêtes HTTP indiqués ci-dessus
$file file_get_contents('http://www.example.com/'false$context);
?>

  

Historique

Version Description
5.1.0 Ajout des paramètres offset et maxlen.

  

Notes

Note: Cette fonction gère les chaînes binaires.

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 leurs variables prédéfinies fournies.

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 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.

  

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.file-get-contents.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut