Différence entre fopen w et a
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-24 11:30:31
0
4
1050

'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

.
曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(4)
大家讲道理

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 est ajouté et non écrasé.
w est une couverture directe.

某草草

a模式是追加,这一句是重点,将文件指针指向文件末尾,如果原来文件存在,那么要写入的内容将添加到文件末尾,你那个例子,是创建新文件了,等同于w模式

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal