萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP中file_put_contents寫入文件的優點

PHP中file_put_contents寫入文件的優點

file_put_contents寫入文件在我看到的phper中很少用到了,但小編以前做flash接受數據時就用到了file_put_contents函數了,下面我們來看看file_put_contents寫入文件的優點

官方介紹

file_put_contents() 函數把一個字符串寫入文件中。

與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。

寫入方法的比較

先來看看使用 fwrite 是如何寫入文件的

$filename   = 'HelloWorld.txt';
$content    = 'Hello World!';
$fh         = fopen($filename, "w");
echo fwrite($fh, $content);
fclose($fh);

再看看使用 file_put_contents 是如何寫入文件的

$filename   = 'HelloWorld.txt';
$content    = 'Hello World!';
file_put_contents($filename, $content);

以上我們可以看出,file_put_contents 一行就代替了 fwrite 三行代碼,

可見其優點: 簡潔、易維護,也不會出現,因 fclose() 忘寫的不嚴密行為。

方法進階

追加寫入

file_put_contents 寫入文件時,默認是從頭開始寫入,如果需要追加內容呢?

在 file_put_contens 方法裡,有個參數 FILE_APPEND,這是追加寫入文件的聲明。

file_put_contents(HelloWorld.txt, 'Hello World!', FILE_APPEND);

鎖定文件

在寫入文件時,為避免與其它人同時操作,通常會鎖定此文件,這就用到了第二個參數: LOCK_EX

file_put_contents(HelloWorld.txt, 'Hello World!', FILE_APPEND|LOCK_EX);

此外,為了確保正確寫入,通常會先判斷該文件是否可寫

if (is_writable('HelloWorld.txt')) {
    file_put_contents(HelloWorld.txt, 'Hello World!', FILE_APPEND|LOCK_EX);
}

copyright © 萬盛學電腦網 all rights reserved