Maison  >  Article  >  développement back-end  >  Comment écrire des fichiers sans écraser en php

Comment écrire des fichiers sans écraser en php

青灯夜游
青灯夜游original
2022-04-15 20:05:153692parcourir

Méthode : 1. Utilisez "file_put_contents(file name,'data',FILE_APPEND)" ; 2. Utilisez "fwrite(fopen(file name,'a'),'data')", fopen() peut être ouvert dans Mode d'ajout de fichier, fwrite() peut écrire des données dans le fichier ouvert.

Comment écrire des fichiers sans écraser en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment réaliser l'écriture de fichiers sans écrasement en php

En php, vous souhaitez réaliser l'écriture de fichiers sans écrasement, ce qui peut être réalisé en ajoutant des données à la fin du fichier.

PHP prend en charge deux méthodes pour ajouter des données à la fin d'un fichier :

  • Utilisation de la fonction file_put_contents()

  • Utilisation des fonctions fopen() et fwrite()

Il existe un fichier nommé " test.txt" Fichier texte, le contenu à l'intérieur est :

Comment écrire des fichiers sans écraser en php

Voyons comment écrire des données dans le fichier (sans écraser) :

Méthode 1 : Utilisez la fonction file_put_contents() pour ajouter des données

Le La fonction file_put_contents() peut mettre une La chaîne est écrite dans le fichier. Le format de syntaxe est le suivant :

file_put_contents(string $filename, mixed $data[, int $flags = 0[, resource $context]])

La description du paramètre est la suivante :

  • $filename : le nom du fichier à écrire avec les données ; data : les données à écrire, qui peuvent être une chaîne, un tableau unidimensionnel ou un type de ressource ;
  • $flags : paramètre facultatif, sa valeur peut être la suivante (peut être utilisée en combinaison avec le | code> opérateur) :
  • FILE_USE_INCLUDE_PATH : dans le répertoire d'inclusion, recherchez $filename. | 运算符组合使用):
    • FILE_USE_INCLUDE_PATH:在 include 目录里搜索 $filename。
    • FILE_APPEND:如果文件 $filename 已经存在,追加数据而不是覆盖。
    • LOCK_EX:在写入时获得一个独占锁。
  • $context:可选参数,一个 context 资源。

将file_put_contents()函数的第三个参数设置为“FILE_APPEND”可追加数据而不是覆盖。

示例:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = "test.txt";
file_put_contents($file, &#39;欢迎来到PHP中文网!33&#39;,FILE_APPEND);    //写入内容
readfile($file);   //读取并输出文件全部内容
?>

Comment écrire des fichiers sans écraser en php

方法2:利用fopen()和fwrite()函数追加数据

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = "test.txt";
$handle = fopen($file, &#39;a&#39;);                 //以追加写入的模式打开文件
fwrite($handle, &#39;https://www.php.cn/&#39;);    //写入内容
fclose($handle);//关闭文件
readfile($file);   //读取并输出文件全部内容
?>

Comment écrire des fichiers sans écraser en php

关键代码分析:

  • fopen($filename, $mode)函数可以按照指定文件模式$mode打开一个文件。当$modea或者a+,设置在打开文件时,将文件指针指向文件末尾;这样进行写入操作时,数据会被追加到已有数据的后面。

  • fwrite()函数可以将一个字符串写入到打开的文件中,因此fwrite($handle, 'https://www.php.cn/')语句的作用就是:将字符串“https://www.php.cn/”写入到已经打开的“test.txt”中。

  • 写入完成后,使用fclose()函数来关闭文件。如果想要获取“test.txt”文件中的新内容,就使用readfile($file)

    FILE_APPEND : si le fichier $filename existe déjà, ajoutez les données au lieu de les écraser.
LOCK_EX : Obtenez un verrou exclusif lors de l'écriture.

$context : Paramètre facultatif, une ressource contextuelle. 🎜🎜🎜Définissez le troisième paramètre de la fonction file_put_contents() sur "FILE_APPEND" pour ajouter des données au lieu de les écraser. 🎜🎜Exemple : 🎜rrreee🎜Comment écrire des fichiers sans écraser en php🎜🎜🎜Méthode 2 : utilisez les fonctions fopen() et fwrite() pour ajouter des données🎜🎜rrreee🎜Comment écrire des fichiers sans écraser en php🎜🎜Analyse du code clé : 🎜🎜🎜🎜fopen($filename, $mode)La fonction peut suivre le spécifié. mode fichier$modeOuvre un fichier. Lorsque $mode est a ou a+, placez le pointeur de fichier à la fin du fichier lors de l'ouverture du fichier lors de l'écriture de cette manière ; les données seront ajoutées aux données existantes. 🎜🎜🎜🎜La fonction fwrite() peut écrire une chaîne dans un fichier ouvert, donc fwrite($handle, 'https://www.php.cn/') La fonction du consiste à écrire la chaîne "https://www.php.cn/" dans le "test.txt" déjà ouvert. 🎜🎜🎜🎜Une fois l'écriture terminée, utilisez la fonction fclose() pour fermer le fichier. Si vous souhaitez récupérer le nouveau contenu dans le fichier "test.txt", utilisez la fonction readfile($file) pour l'obtenir directement. 🎜🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn