定義和用法
file_put_contents() 函數把一個字串寫入檔案中。
與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。
文法
file_put_contents(file,data,mode,context)
參數 描述
file 必需。規定要寫入資料的檔案。如果檔案不存在,則建立一個新檔案。
data 可選。規定要寫入檔案的資料。可以是字串、數組或資料流。
mode
可選。規定如何開啟/寫入檔案。可能的值:
FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX
context
可選。規定檔案控制代碼的環境。
context 是一套可以修改流的行為的選項。若使用 null,則忽略。
file_put_contents 使用FILE_APPEND屬性增加換行的方法
<?php
$file = 'test.txt';
$message = "test".PHP_EOL;
file_put_contents($file, $message, FILE_APPEND);
?>
or
<?php
$file = 'test.txt';
$message = "test\r\n";
file_put_contents($file, $message, FILE_APPEND);
?>
FILE_APPEND:在檔案末尾以追加的方式寫入資料
int file_put_contents ( string filename, string data [, int flags [, resource context]] )
file_put_contents("log.txt", "Hello world everyone.", FILE_APPEND);
//參數說明:
//參數 說明
filename //要寫入資料的檔案名稱
data //要寫入的資料。類型可以是 string,array(但不能為多維陣列),或者是 stream 資源
flags //可選,規定如何開啟/寫入檔案。可能的值:
FILE_USE_INCLUDE_PATH://檢查 filename 副本的內建路徑
FILE_APPEND://在檔案末尾以追加的方式寫入資料
LOCK_EX://對檔案上鎖
context //可選,Context是一組選項,可以通過它修改文字屬性
很多時候記錄日誌需要換行。不建議使用\r\n,因為:
在windows中\r\n是換行
在Mac中\r是換行
在Liunx中\n是換行
但是PHP提供了一個常量來匹配不同的作業系統,即:
PHP_EOL
file_put_contents("log.txt", "Hello world everyone.".PHP_EOL, FILE_APPEND);
最尷尬的就是:每次都會高估自己在別人心裡的位置