您好,登錄后才能下訂單哦!
今天小編給大家分享一下php如何實現文件寫入不覆蓋的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
方法:1、用“file_put_contents(文件名,'數據',FILE_APPEND)”;2、用“fwrite(fopen(文件名,'a'),'數據')”,fopen()可以追加模式打開文件,fwrite()可在打開的文件中寫入數據。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
php怎么實現文件寫入不覆蓋
在php中,想要實現文件寫入不覆蓋,可以通過在文件末尾追加數據來實現。
PHP支持兩種在文件末尾追加數據的方法:
使用file_put_contents()函數
使用fopen()和fwrite()函數
有一個名為“test.txt”的文本文件,里面的內容為:
來看看怎么向文件寫入數據(不覆蓋):
方法1:利用file_put_contents()函數追加數據
file_put_contents()函數可以將一個字符串寫入到文件中,語法格式如下:
file_put_contents(string $filename, mixed $data[, int $flags = 0[, resource $context]])
參數說明如下:
$filename:要被寫入數據的文件名;
$data:要寫入的數據,可以是字符串、一維數組或者資源等類型;
$flags:可選參數,它的值可以是以下幾種(可以使用 |
運算符組合使用):
FILE_USE_INCLUDE_PATH:在 include 目錄里搜索 $filename。
FILE_APPEND:如果文件 $filename 已經存在,追加數據而不是覆蓋。
LOCK_EX:在寫入時獲得一個獨占鎖。
$context:可選參數,一個 context 資源。
將file_put_contents()函數的第三個參數設置為“FILE_APPEND
”可追加數據而不是覆蓋。
示例:
<?php header("Content-Type: text/html;charset=utf-8"); //設置字符編碼 $file = "test.txt"; file_put_contents($file, '歡迎來到億速云!33',FILE_APPEND); //寫入內容 readfile($file); //讀取并輸出文件全部內容 ?>
方法2:利用fopen()和fwrite()函數追加數據
<?php header("Content-Type: text/html;charset=utf-8"); //設置字符編碼 $file = "test.txt"; $handle = fopen($file, 'a'); //以追加寫入的模式打開文件 fwrite($handle, 'http://www.neiyidaogou.com/'); //寫入內容 fclose($handle);//關閉文件 readfile($file); //讀取并輸出文件全部內容 ?>
關鍵代碼分析:
fopen($filename, $mode)
函數可以按照指定文件模式$mode
打開一個文件。當$mode
為a
或者a+
,設置在打開文件時,將文件指針指向文件末尾;這樣進行寫入操作時,數據會被追加到已有數據的后面。
fwrite()
函數可以將一個字符串寫入到打開的文件中,因此fwrite($handle, 'http://www.neiyidaogou.com/')
語句的作用就是:將字符串“http://www.neiyidaogou.com/”寫入到已經打開的“test.txt”中。
寫入完成后,使用fclose()函數來關閉文件。如果想要獲取“test.txt”文件中的新內容,就使用readfile($file)
函數直接獲取。
以上就是“php如何實現文件寫入不覆蓋”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。