'w' 寫入方式打開,將檔案指標(biāo)指向檔案頭並將檔案大小截為零。如果文件不存在則嘗試建立之。
'a' 寫入方式打開,將檔案指標(biāo)指向檔案結(jié)尾。如果文件不存在則嘗試建立之。
看這兩個寫入方式是不一樣的 但是 我這邊測試的結(jié)果怎麼是一樣的呢?
程式碼如下:
<?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);
?>
讀取a資料夾裡的檔案 然後寫入到文字裡 這裡fopen是w或a怎麼結(jié)果是一樣的呢
你先在1.txt裡面任意寫點(diǎn)內(nèi)容,你再測試w和a就能看出區(qū)別了
簡單說就是對於一個已經(jīng)存在內(nèi)容的文字文件,w是清空已有內(nèi)容再寫,a是在已有內(nèi)容的基礎(chǔ)上往後追加內(nèi)容
對於一個全新的文本文件,兩者是一樣的
如果 1.txt 原來就是不存在或內(nèi)容為空,那麼追加和重寫的效果是一樣的。
如果 1.txt 存在,並且有內(nèi)容,效果是不同的。
a模式
是追加,這一句是重點(diǎn),將文件指針指向文件末尾,如果原來文件存在,那么要寫入的內(nèi)容將添加到文件末尾,你那個例子,是創(chuàng)建新文件了,等同于w模式