Dans l'article précédent, nous avons présenté la méthode de lecture de toutes les données du fichier en une seule fois. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour lire « Opération sur le fichier php : comment obtenir toutes les données du fichier. à la fois". Nous avons beaucoup appris sur les opérations de lecture de fichiers. Jetons un coup d'œil aux opérations d'écriture de fichiers.
Comme le titre l'indique, le sujet d'aujourd'hui est d'introduire l'écrasement (effacer le contenu original du fichier puis rajouter les données). Ci-dessous, nous vous donnerons une introduction détaillée à travers des exemples de code.
Toujours avec l'exemple précédent, il existe un fichier texte nommé "test.txt", dont le contenu est :
Je souhaite modifier le contenu du fichier "test.txt" en :
HELLO PHP!
Jetons un coup d'œil au code d'implémentation :
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; $handle = fopen($file, 'w'); //打开文件 fwrite($handle, 'HELLO PHP!'); //写入内容 fclose($handle);//关闭文件 ?>
Après avoir écrit le contenu, nous lisons le fichier et voyons s'il est en train d'écraser
readfile($file); //读取并输出文件全部内容
Regardez le résultat de sortie :
Rouvrez le "test.txt " fichier, Jetez un œil au contenu :
Écrivez avec succès ! Jetons un coup d'œil aux instructions clés :
fopen($file, 'w')
Déclaration : La fonction fopen() peut ouvrir un fichier selon le mode de fichier spécifié $mode< /code> ; lorsque Lorsque <code>$mode
est w
ou w+
, le contenu du fichier sera effacé lors de l'ouverture du fichier. fopen($file, 'w')
语句:fopen()函数可以按照指定文件模式$mode
打开一个文件;当$mode
为w
或者w+
时,会在打开文件的同时,清空文件的内容。
fwrite($handle, 'HELLO PHP!')
语句:将字符串“HELLO PHP!
”写入到打开的文件中。
除了利用fopen和fwrite()函数来覆盖写入外,我们还可以直接使用file_put_contents()函数来将文件原有内容清空重新添加数据。
看看下面的示例:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; file_put_contents($file, '欢迎来到PHP中文网!'); //写入内容 readfile($file); //读取并输出文件全部内容 ?>
输出结果为:
重新打开“test.txt”文件,看看内容:
我们来了解一下file_put_contents()函数:
file_put_contents($filename,$data,$mode,$context)
函数可以把一个字符串写入文件中,接受两个必需参数$filename
(要打开的文件)和$data
(要插入的内容,可以是字符串、一维数组或者资源等类型),2个可省略的参数$mode
和$context
(文件句柄的环境)。
其中,$mode参数用于如何打开/写入文件(即文件模式),有三个值:
FILE_USE_INCLUDE_PATH
:默认值,用于覆盖原有数据。
FILE_APPEND
:如果文件 $filename 已经存在,追加数据而不是覆盖。
LOCK_EX
fwrite($handle, 'HELLO PHP!')
: Écrivez la chaîne "HELLO PHP!
" dans le fichier ouvert. file_put_contents()
pour effacer le contenu original du fichier et rajouter des données.Regardez l'exemple ci-dessous :
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; file_put_contents($file, '欢迎来到PHP中文网!33',FILE_APPEND|LOCK_EX); //写入内容 readfile($file); //读取并输出文件全部内容 ?>
Le résultat de sortie est : Rouvrez le fichier "test.txt" et jetez un œil au contenu :
Jetons un coup d'œil à la fonction file_put_contents() :
file_put_contents( La fonction $filename,$data,$mode ,$context)
peut écrire une chaîne dans un fichier, en acceptant deux paramètres requis $filename
(le fichier à ouvrir) et $ data
( Le contenu à insérer peut être une chaîne, un tableau unidimensionnel ou un type de ressource), 2 paramètres omis $mode
et $context
(l'environnement du descripteur de fichier). Parmi eux, le paramètre $mode est utilisé pour savoir comment ouvrir/écrire des fichiers (c'est-à-dire le mode fichier) et a trois valeurs : FILE_USE_INCLUDE_PATH : valeur par défaut, utilisée pour écraser les données d'origine.
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. 🎜🎜🎜rrreee🎜Rouvrez le fichier "test.txt" et jetez un oeil au contenu : 🎜🎜🎜🎜🎜Comme vous pouvez le constater, nous avons ajouté une nouvelle donnée à la fin du fichier ! Par conséquent, la fonction file_put_contents() peut non seulement être utilisée pour 🎜écraser🎜, mais aussi 🎜ajouter pour écrire🎜. 🎜🎜D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Fonctionnement de base des fichiers PHP🎜🎜🎜🎜Recommandé :🎜"🎜Collection de questions d'entretien PHP (collection)🎜" "🎜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!