- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
在PHP的一些應用中需要寫日志或者記錄一些信息,可以使用fopen(),fwrite(),fclose()這些操作。也可使用file_get_contents()和file_put_contents()。
file_put_contents()寫文件。默認的是重新寫文件,也就是會替換原先的內容。追加的話使用參數FILE_APPEND
以追加形式寫入內容 當設置flags參數值為FILE_APPEND時,表示在已有文件內容后面追加內容的方式寫入新數據
file_put_contents() 定義和用法
file_put_contents() 函數把一個字符串寫入文件中。
該函數訪問文件時,遵循以下規則:
如果設置了 FILE_USE_INCLUDE_PATH,那么將檢查 *filename* 副本的內置路徑
如果文件不存在,將創建一個文件
打開文件
如果設置了 LOCK_EX,那么將鎖定文件
如果設置了 FILE_APPEND,那么將移至文件末尾。否則,將會清除文件的內容
向文件中寫入數據
關閉文件并對所有文件解鎖
如果成功,該函數將返回寫入文件中的字符數。如果失敗,則返回 False。
file_put_contents() 語法
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
參數 描述
file 必需。規定要寫入數據的文件。如果文件不存在,則創建一個新文件。
data 必需。規定要寫入文件的數據??梢允亲址到M或數據流。
mode 可選。規定如何打開/寫入文件??赡艿闹担篎ILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX
context 可選。規定文件句柄的環境。context 是一套可以修改流的行為的選項。
MODE
FILE_USE_INCLUDE_PATH://檢查 filename 副本的內置路徑
FILE_APPEND://在文件末尾以追加的方式寫入數據
LOCK_EX://對文件上鎖
內容換行以及提示
FILE_APPEND 避免刪除文件中已存在的內容。
echo file_put_contents("./test.txt", 'hello');
//以上實例執行輸出結果為:6
接下來我們向文件 sites.txt 追加內容:
很多時候記錄日志需要換行。不建議使用\r\n,因為:
在windows中\r\n是換行
在Mac中\r是換行
在Liunx中\n是換行
但是PHP提供了一個常量來匹配不同的操作系統,即:PHP_EOL
// 向文件追加寫入內容
$site = PHP_EOL."world";
// 使用 FILE_APPEND 標記,可以在文件末尾追加內容
// LOCK_EX 標記可以防止多人同時寫入
file_put_contents('./tset.txt', $site, FILE_APPEND | LOCK_EX);
執行成功后,打開 tset.txt 文件,內容為:
hello
world
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP