Fonction PHP File_put_Contents

Fonction PHP File_put_Contents
De nombreuses fonctions existent dans PHP pour écrire du contenu dans le fichier. La fonction file_put_contents () en fait partie. Il est utilisé pour écrire des données de chaîne dans un fichier. Si le fichier existe, cette fonction écrasera le contenu précédent avec les nouvelles données de chaîne ou ajoutera la chaîne à la fin du fichier. Si le fichier n'existe pas, un nouveau fichier sera automatiquement créé avec la valeur de chaîne. La syntaxe de cette fonction est donnée ci-dessous.

Syntaxe:

Int | false file_put_contents (String $ name, mixtes $ data [, int $ flags = 0 [, ressource $ context]]))

Le premier argument est obligatoire, et il est utilisé pour définir le nom de fichier où les données seront écrites.

Le deuxième argument est obligatoire et utilisé pour définir les données écrites dans le fichier.

Le troisième argument est facultatif, qui est utilisé pour définir l'ouverture du fichier ou l'écriture des données. L'une des valeurs suivantes peut être utilisée dans cet argument.

File_use_include_path:
Il est utilisé la recherche dans le fichier dans le répertoire inclué.

File_append:
Si le fichier existe, il est utilisé pour ajouter les données à la fin du fichier.

Lock_ex:
Il est utilisé pour définir le verrouillage exclusif du fichier lors de l'écriture.

Le quatrième argument est facultatif et utilisé pour définir le comportement du flux ou le contexte de gestion du fichier.

La fonction renvoie Le nombre de caractères écrits dans le fichier et renvoie false si aucune donnée n'est écrite dans le fichier

file_put_contents () Exemples de fonction

Différentes utilisations de la fonction file_put_contents () ont été montrées dans la partie suivante de ce tutoriel en utilisant plusieurs exemples. Vous avez défini les autorisations de lecture et d'écriture nécessaires sur le dossier où le fichier sera situé avant de pratiquer les exemples de ce tutoriel; sinon, l'erreur refusée se produirait. Exécutez la commande suivante pour définir toutes les autorisations pour le dossier, '/ var / www / html / php'.

$ sudo chmod -r 777 / var / www / html / php

Exemple-1: Écrivez / écrasez le contenu dans un fichier

Créez un fichier PHP avec le script suivant qui écrira un texte dans un fichier texte situé à l'intérieur du dossier, '/ var / www / html / php'. Si la temp.SMS Le fichier existe avant, alors le fichier_put_contents () écrasera le contenu du fichier. Si la temp.SMS Le fichier n'existe pas, alors la fonction file_put_contents () créera automatiquement le fichier avant d'écrire. Ensuite, la fonction file_get_contents () est utilisée dans le script pour vérifier si le texte a été écrit correctement dans le fichier ou non.

// définir le nom de fichier
$ filename = "temp.SMS";
// définir la valeur de chaîne
$ str = "Ajout de contenu au fichier."
// Écrivez du contenu dans le fichier
file_put_contents ('/ var / www / html / php /'.$ nom de fichier, $ str) ou print_r (error_get_last ());
// Vérifiez que le fichier existe ou non
if (file_exists ($ filename)))

Echo "Le contenu du fichier:
"
// imprime le contenu du fichier
echo file_get_contents ($ filename);

?>

Sortir:

La sortie suivante serait apparue après avoir exécuté le script ci-dessus si le texte était écrit correctement dans le fichier.

Exemple-2: ajoutez les données dans un nom de fichier existant

Créez un fichier PHP avec le script suivant qui ajoutera un texte avec la nouvelle ligne dans un fichier texte existant situé à l'intérieur du dossier, '/ var / www / html / php'. Le File_append et Lock_ex Les options sont utilisées dans le troisième argument de la fonction file_put_contents () pour ajouter le texte au temp.SMS déposer. Ensuite, la fonction file_get_contents () est utilisée dans le script pour vérifier si le texte a été écrit correctement dans le fichier ou non.

// définir le nom de fichier
$ filename = "temp.SMS";
// Vérifiez que le fichier existe ou non
if (file_exists ($ filename)))

ECHO "Le contenu du fichier avant d'ajouter:
"
// imprime le contenu du fichier
echo file_get_contents ($ filename);
// définir la valeur de chaîne
$ str = "Ajout d'un nouveau contenu dans le fichier.\ n ";
// Écrivez du contenu dans le fichier
file_put_contents ('/ var / www / html / php /'.$ nom de fichier, $ str, file_append | Lock_ex) ou print_r (error_get_last ());
écho "
Le contenu du fichier après ajouter:
"
// imprime le contenu du fichier
echo file_get_contents ($ filename);

?>

Sortir:

La sortie suivante serait apparue après avoir exécuté le script ci-dessus si le texte était correctement annexé dans le fichier.

Exemple-3: Écrivez / écrasez le contenu du fichier à l'aide de file_use_include_path

Vous devez activer le inclure_path directive dans le php.ini Fichier pour l'utilisation le fichier_use_include_path Option, le troisième argument de la fonction file_put_contents (). Ouvrir le php.ini Fixez et supprimez le point-virgule (;) de l'avant de la ligne suivante.

include_path = ".: / usr / share / php "

Exécutez la commande suivante à partir du terminal pour redémarrer le serveur Apache après avoir modifié le php.ini déposer.

$ sudo service apache2 redémarrer

Créez un fichier PHP avec le script suivant qui écrira / écrasera le texte avec la nouvelle ligne dans un fichier texte existant nommé mon fichier.SMS qui est situé à l'emplacement défini dans inclure_path directif. Ensuite, la fonction file_get_contents () a été utilisée dans le script pour vérifier que le texte a été écrit correctement dans le fichier ou non.

// définir le nom de fichier
$ filename = "myfile.SMS";
// définir la valeur de chaîne
$ str = "Écriture de données dans un fichier à l'aide de fichiers_put_contents ().\ n ";
// Écrivez du contenu dans le fichier
file_put_contents ($ nom de fichier, $ str, file_use_include_path) ou die ("incapable d'ouvrir le fichier.");
Echo "Le contenu du fichier:
"
// imprime le contenu du fichier
echo file_get_contents ($ filename, true);
?>

Sortir:

La sortie suivante serait apparue après avoir exécuté le script ci-dessus si le texte était écrit correctement dans le fichier.

Exemple-4: Écrivez dans un fichier en créant un répertoire

Créez un fichier PHP avec le script suivant qui écrira / écrasera le texte avec la nouvelle ligne dans un fichier texte nommé essai.SMS Situé à l'intérieur du répertoire nommé 'temporaire'En utilisant une fonction définie par l'utilisateur nommé WriteIntofile(). Cette fonction créera le répertoire si le répertoire n'existe pas dans l'emplacement actuel avant d'écrire dans le fichier. Ensuite, la fonction file_get_contents () est utilisée dans le script pour vérifier si le texte a été écrit correctement dans le fichier ou non.

// Définissez pour fonctionner pour écrire dans le fichier en créant un répertoire s'il n'existe pas
function writeIntofile ($ dir, $ fichier, $ data)
// Créer le répertoire s'il n'est pas existé
si(!is_dir ($ dir))
Mkdir ($ dir);
// Écrivez des données dans le fichier
file_put_contents ("$ dir / $ file", $ data);

// initialise les variables nécessaires
$ répertoire = 'temporaire';
$ filename = 'Test.SMS';
$ str = 'Tester le contenu du fichier.';;
// appelle la fonction pour écrire dans le fichier
WriteIntoFile ($ Directory, $ FileName, $ Str);
// Vérifiez que le fichier existe ou non
if (file_exists ("$ Directory / $ filename"))

Echo "Le contenu du fichier:
"
// imprime le contenu du fichier
echo file_get_contents ("$ Directory / $ filename");

?>

Sortir:

La sortie suivante serait apparue après avoir exécuté le script ci-dessus si le texte était écrit correctement dans le fichier.

Conclusion

Différentes façons d'écrire du contenu dans un fichier en utilisant la fonction file_put_contents () ont été montrées dans les exemples de ce tutoriel pour aider les utilisateurs de PHP à appliquer correctement cette fonction dans leur script.