首頁 >後端開發 >PHP問題 >php怎麼實現檔案寫入不覆蓋

php怎麼實現檔案寫入不覆蓋

青灯夜游
青灯夜游原創
2022-04-15 20:05:153744瀏覽

方法:1、用“file_put_contents(檔名,'資料',FILE_APPEND)”;2、用“fwrite(fopen(檔名,'a'),'資料')”,fopen()可以追加模式開啟文件,fwrite()可在開啟的文件中寫入資料。

php怎麼實現檔案寫入不覆蓋

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php怎麼實作文件寫入不覆蓋

在php中,想要實現檔案寫入不覆蓋,可以透過在檔案末尾追加資料來實現。

PHP支援兩個在檔案結尾追加資料的方法:

  • 使用file_put_contents()函數

  • 使用fopen( )和fwrite()函數

有一個名為「test.txt」的文字文件,裡面的內容為:

php怎麼實現檔案寫入不覆蓋

# #來看看怎麼寫入資料到檔案

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
  • 」可追加資料而不是覆寫。

範例:<pre class="brush:php;toolbar:false">&lt;?php header(&quot;Content-Type: text/html;charset=utf-8&quot;); //设置字符编码 $file = &quot;test.txt&quot;; file_put_contents($file, &amp;#39;欢迎来到PHP中文网!33&amp;#39;,FILE_APPEND); //写入内容 readfile($file); //读取并输出文件全部内容 ?&gt;</pre>

方法2:利用fopen()和fwrite()函數追加資料php怎麼實現檔案寫入不覆蓋

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = "test.txt";
$handle = fopen($file, &#39;a&#39;);                 //以追加写入的模式打开文件
fwrite($handle, &#39;https://www.php.cn/&#39;);    //写入内容
fclose($handle);//关闭文件
readfile($file);   //读取并输出文件全部内容
?>

關鍵程式碼分析:

php怎麼實現檔案寫入不覆蓋

fopen($filename, $mode)
    函數可以依照指定檔案模式
  • $ mode

    開啟一個檔案。當$modeaa ,設定在開啟檔案時,將檔案指標指向檔案結尾;這樣進行寫入操作時,資料會被追加到已有數據的後​​面。

    fwrite()
  • 函數可以將字串寫入到開啟的檔案中,因此
  • fwrite($handle, 'https://www .php.cn/')

    語句的作用就是:將字串「https://www.php.cn/」寫入到已經開啟的「test.txt」。 寫入完成後,使用fclose()函數來關閉檔案。如果想要取得「test.txt」檔案中的新內容,就使用

    readfile($file)
  • 函數直接取得。
  • 推薦學習:《

    PHP影片教學

以上是php怎麼實現檔案寫入不覆蓋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn