Rumah  >  Soal Jawab  >  teks badan

Perbezaan antara fopen w dan a

'w' menghidupkan mod penulisan, halakan penuding fail ke pengepala fail dan potong saiz fail kepada sifar. Jika fail itu tidak wujud, cuba buatnya.
'a' dibuka dalam mod menulis dan menghalakan penuding fail ke hujung fail. Jika fail itu tidak wujud, cuba buatnya.

Nampaknya kedua-dua kaedah penulisan ini berbeza Tetapi bagaimana keputusan ujian saya adalah sama?
Kod adalah seperti berikut:

<?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);
?>

Baca fail dalam folder a dan tuliskannya ke dalam teks Di sini, jika fopen ialah w atau a, mengapa hasilnya sama

曾经蜡笔没有小新曾经蜡笔没有小新2687 hari yang lalu1022

membalas semua(4)saya akan balas

  • 大家讲道理

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

    Anda mula-mula menulis beberapa kandungan dalam 1.txt, dan kemudian anda boleh melihat perbezaannya dengan menguji w dan a

    Ringkasnya, untuk fail teks yang sudah mempunyai kandungan, w ialah mengosongkan kandungan sedia ada dan kemudian menulisnya, dan a ialah menambah kandungan berdasarkan kandungan sedia ada

    Untuk fail teks serba baharu, kedua-duanya adalah sama

    balas
    0
  • 大家讲道理

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

    Jika 1.txt tidak wujud atau kandungan kosong, maka kesan penambahan dan penulisan semula adalah sama.
    Jika 1.txt wujud dan mempunyai kandungan, kesannya berbeza.

    balas
    0
  • 给我你的怀抱

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

    a adalah tambah, bukan ditimpa.
    w adalah perlindungan langsung.

    balas
    0
  • 某草草

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

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

    balas
    0
  • Batalbalas