在上一篇文章中我們介紹了一次讀取檔案全部資料的方法,有興趣的可以點擊連結查閱《php檔案操作之如何一次取得檔案的全部資料》。文件讀取操作了解了不少,下面我們來了解一下文件寫入操作。
如標題所說的,今天的主題是介紹覆蓋寫入(將檔案原有內容清空,然後重新加入資料)。下面我們會透過程式碼範例來給大家詳細介紹的。
還是之前的例子,有一個名為「test.txt」的文字文件,裡面的內容為:
想要將「test. txt」檔案的內容改為:
HELLO PHP!
我們來看看實作程式碼:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; $handle = fopen($file, 'w'); //打开文件 fwrite($handle, 'HELLO PHP!'); //写入内容 fclose($handle);//关闭文件 ?>
寫入內容後,我們讀取文件,看看是讓進行覆蓋寫入
readfile($file); //读取并输出文件全部内容
看看輸出結果為:
#重新開啟「test.txt」文件,看看內容:
#寫入成功!我們來看看關鍵語句:
fopen($file, 'w')
語句:fopen()函數可以按照指定檔案模式$mode
開啟一個文件;當$mode
為w
或w
時,會在開啟檔案的同時,清空檔案的內容。
fwrite($handle, 'HELLO PHP!')
語句:將字串「HELLO PHP!
」寫入到開啟的檔案中。
除了利用fopen和fwrite()函數來覆寫寫入外,我們還可以直接使用file_put_contents()函數來將檔案原有內容清空並重新新增資料。
看看下面的範例:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; file_put_contents($file, '欢迎来到PHP中文网!'); //写入内容 readfile($file); //读取并输出文件全部内容 ?>
輸出結果為:
#重新開啟「test.txt」文件,看看內容:
我們來了解file_put_contents()函數:
file_put_contents($filename,$data,$mode,$context)
函數可以把一個字串寫入檔案中,接受兩個必要參數$filename
(要開啟的檔案)和$data
(要插入的內容,可以是字串、一維數組或資源等類型),2個可省略的參數$mode
和$context
(檔案句柄的環境)。
其中,$mode參數用於如何開啟/寫入檔案(即檔案模式),有三個值:
FILE_USE_INCLUDE_PATH
:預設值,用於覆蓋原有資料。
FILE_APPEND
:如果檔案 $filename 已經存在,請追加資料而不是覆寫。
LOCK_EX
:在寫入時取得一個獨佔鎖定。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; file_put_contents($file, '欢迎来到PHP中文网!33',FILE_APPEND|LOCK_EX); //写入内容 readfile($file); //读取并输出文件全部内容 ?>
重新開啟「test.txt」文件,看看內容:
可以看出,我們在文件的末尾新增了一段新數據!因此file_put_contents()函數不只可以用來覆蓋寫入,還可以追加寫入。
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →PHP檔案基礎操作
#推薦:《PHP面試題大匯總(收藏)》《php影片教學》
以上是php檔案操作之如何清空文件重新新增數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!