Maison  >  Questions et réponses  >  le corps du texte

Différence entre fopen w et a

'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

.
曾经蜡笔没有小新曾经蜡笔没有小新2687 Il y a quelques jours1019

répondre à tous(4)je répondrai

  • 大家讲道理

    大家讲道理2017-05-24 11:32:31

    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

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-24 11:32:31

    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.

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-24 11:32:31

    a est ajouté et non écrasé.
    w est une couverture directe.

    répondre
    0
  • 某草草

    某草草2017-05-24 11:32:31

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

    répondre
    0
  • Annulerrépondre