(PHP 5)
file_put_contents — Écrit un contenu dans un fichier
Revient à appeler les fonctions fopen(), fwrite() et fclose() successivement.
Si le fichier filename n'existe pas, il sera créé. Sinon, le fichier existant sera écrasé, si l'option FILE_APPEND n'est pas défini.
Chemin vers le fichier dans lequel on doit écrire les données.
Les données à écrire. Peut être soit une chaîne de caractères, un tableau ou une ressource de flux (explication plus bas).
Si data est une ressource de type stream , le buffer restant de ce flux sera copié dans le fichier spécifié. Cela revient à utiliser la fonction stream_copy_to_stream().
Vous pouvez également spécifier le paramètre data en tant qu'un tableau à une seule dimension. C'est l'équivalent à file_put_contents($filename, implode('', $array)).
La valeur du paramètre flags peut être n'importe quelle combinaison des drapeaux suivant (avec quelques restrictions), liés par l'opérateur binaire OU (|).
Drapeau | Description |
---|---|
FILE_USE_INCLUDE_PATH | Recherche le fichier filename dans le dossier d'inclusion. Voir include_path pour plus d'informations. |
FILE_APPEND | Si le fichier filename existe déjà, cette option permet d'ajouter les données au fichier au lieu de l'écraser. Cette option est mutuellement exclusive avec LOCK_EX car les ajouts sont atomiques, et qu'il n'y a pas de raison de poser de verrou. |
LOCK_EX | Acquiert un verrou exclusif sur le fichier lors de l'opération d'écriture. Mutuellement exclusif avec FILE_APPEND. |
Une ressource de contexte valide créée avec la fonction stream_context_create().
Retourne le nombre d'octets qui ont été écrits au fichier, ou FALSE si une erreur survient.
Exemple #1 Utilisation simple de file_put_contents
<?php
$file = 'people.txt';
// Ouvre un fichier pour lire un contenu existant
$current = file_get_contents($file);
// Ajoute une personne
$current .= "Jean Dupond\n";
// Écrit le résultat dans le fichier
file_put_contents($file, $current);
?>
Exemple #2 Utilisation d'options pour file_put_contents
<?php
$file = 'people.txt';
// Une nouvelle personne à ajouter
$person = "Jean Dupoond\n";
// Ajoute le contenu de la variable $person au fichier designé par la variable $file.
file_put_contents($file, $person, FILE_APPEND);
?>
Version | Description |
---|---|
5.0.0 | Ajout du support du contexte. |
5.1.0 | Ajout du support de LOCK_EX et la possibilité de passer une ressource de flux dans le paramètre data. |
Note: Cette fonction gère les chaînes binaires.
Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si le gestionnaire fopen a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier. Repportez-vous aux Liste des protocoles 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.