'w' active le mode écriture, pointe le pointeur de fichier vers l'en-tête du fichier et tronque la taille du fichier à zéro. Si le fichier n'existe pas, essayez de le créer.
'a' s'ouvre en mode écriture et pointe le pointeur de fichier vers la fin du fichier. Si le fichier n'existe pas, essayez de le créer.
Il semble que ces deux méthodes d'écriture soient différentes. Mais comment se fait-il que les résultats de mon test soient les mêmes ?
Le code est le suivant :
<?php
$dir = "./a/";
$txt = '1.txt';
$fh = fopen($txt, 'w');
$dh = opendir($dir);
while (($file = readdir($dh)) !== false) {
if ($file == '.' || $file == '..') {
continue;
}
fwrite($fh, $file."\n");
}
closedir($dh);
?>
Lisez les fichiers du dossier a et écrivez-les dans le texte Ici, si fopen est w ou a, pourquoi le résultat est le même
.Vous écrivez d'abord du contenu en 1.txt, puis vous pourrez voir la différence en testant w et a
Pour faire simple, pour un fichier texte qui a déjà du contenu, w consiste à effacer le contenu existant puis à l'écrire, et a consiste à ajouter du contenu basé sur le contenu existant
Pour un tout nouveau fichier texte, les deux sont identiques
Si 1.txt n'existe pas ou si le contenu est vide, l'ajout et la réécriture ont le même effet.
Si 1.txt existe et a du contenu, l'effet est différent.
a模式
是追加,這一句是重點(diǎn),將文件指針指向文件末尾,如果原來文件存在,那么要寫入的內(nèi)容將添加到文件末尾,你那個(gè)例子,是創(chuàng)建新文件了,等同于w模式