Dans la section précédente nous avons appris que la lecture de fichiers est particulièrement facile à maîtriser. Dans cette section, nous expliquerons l'écriture dans des fichiers.
file_put_contents écrire le fichier
Apprenons d'abord la première façon d'écrire des fichiers :
int file_put_contents (string $file path, string $write data])
Fonction : Écrire un chaîne au fichier spécifié et créez le fichier s'il n'existe pas. Ce qui est renvoyé est la longueur des octets écrits
<?php $data = "在PHP中文网学好PHP,妹子票子不再话下!"; $numbytes = file_put_contents('binggege.txt', $data); if($numbytes){ echo '写入成功,我们读取看看结果试试:'; echo file_get_contents('binggege.txt'); }else{ echo '写入失败或者没有权限,注意检查'; } ?>
Nous avons constaté que l'écriture de fichiers est assez simple. Selon le format de cette fonction, spécifiez le fichier et écrivez les données de chaîne.
fwrite coopère avec fopen pour effectuer des opérations d'écriture
int fwrite (ressource $file variable de ressource, chaîne $écrite chaîne [, int longueur])
Remarque : la fonction d'alias de fwrite est fputs
Nous avons essayé le mode r dans le dernier cours, qui n'était utilisé que lors de la lecture. Ensuite, nous utilisons fwrite plus w dans fopen pour écrire des fichiers en mode écriture.
Jetons un coup d'œil aux fonctionnalités :
Ouvrez en mode écriture, pointez le pointeur du fichier sur l'en-tête du fichier et tronquez la taille du fichier à zéro. Si le fichier n'existe pas, tente de le créer.
Remarque : dans l'expérience suivante, vous pouvez essayer de créer un nouveau fichier test.txt et d'y écrire du contenu. Ensuite, vous pouvez essayer de supprimer test.txt. Voyez quels sont les conseils disponibles.
<?php $filename = 'test.txt'; $fp= fopen($filename, "w"); $len = fwrite($fp, '我是一只来自北方的狼,却在南方冻成了狗'); fclose($fp); print $len .'字节被写入了\n'; ?>
Résumé :
1 Qu'il y ait ou non un nouveau fichier, le fichier sera ouvert et réécrit
2. Le contenu du fichier d'origine sera écrasé
Si le fichier est supprimé. n'existe pas, il sera créé
Comparons ensuite les différences entre les modes suivants :
模式 | 说明 |
---|---|
r | 只能读不能使用fwrite写 |
r+ | 可操作读、写 |
w | 只可以写功能 |
w+ | 即可读又可以写 |
Prouvons-le par des expériences :
<?php $filename = 'test.txt'; $fp= fopen($filename, "r+"); $len = fwrite($fp, '我是一只来自南方的狼,一直在寻找心中的花姑娘'); fclose($fp); print $len .'字节被写入了\n'; ?>
Pendant l'expérience, vous pouvez supprimer le signe + après r.
Grâce à des expériences, nous avons constaté qu'en utilisant le mode r, les données peuvent être écrites lorsque le fichier est enregistré. Si seul r est utilisé, l'écriture échoue.
La différence entre un mode et le mode w
Le même code est ci-dessous, on le change en mode.
<?php $filename = 'test.txt'; $fp= fopen($filename, "a"); $len = fwrite($fp,'读大学迷茫了,PHP中文网学PHP给你希望'); echo $len .'字节被写入了\n'; ?>
Ouvrez la page Web et exécutez ce code, vous trouverez : à chaque actualisation, il y aura un paragraphe supplémentaire dans le fichier
: Si vous êtes confus à l'université, apprenez PHP sur le site Web PHP chinois vous donnera de l'espoir.
Résumé :
模式 | 总结 |
---|---|
x | 每次写入会干掉原有文件的内容,文件不存在都会创建 |
a | 每次写入都会向文件的尾端追加内容 |
Remarque : a+ est une fonction supplémentaire améliorée. Il peut également être utilisé lorsqu'il est lisible.
La différence entre le mode x et le mode w
Essayons à nouveau ce code et changeons-le en mode x :
<?php $filename = 'test.txt'; $fp= fopen($filename, "x"); $len = fwrite($fp,'读大学迷茫了,PHP中文网学PHP给你希望'); echo $len .'字节被写入了\n'; ?>
Nous trouverons :
1 .Lorsque le fichier existe, une erreur sera signalée
2. Si vous remplacez $filename par un autre nom de fichier, tout ira bien. Cependant, lors d'une nouvelle actualisation, une erreur a été signalée
3.x+ est un mode x amélioré. Peut également être utilisé lors de la lecture.
section suivante