首頁 > 後端開發 > php教程 > 學習php的fwrite函數

學習php的fwrite函數

WBOY
發布: 2016-07-25 09:10:37
原創
1680 人瀏覽過
本文為大家介紹php的fwrite函數的用法,供大家參考。 PHP fwrite() fwrite() 函數用於向檔案寫入字串,成功傳回寫入的字元數,否則傳回 FALSE 。文法: int fwrite( res

本文為大家介紹php的fwrite函數的用法,供大家參考。

PHP fwrite() fwrite() 函數用於向檔案寫入字串,成功傳回寫入的字元數,否則傳回 FALSE 。

語法: int fwrite( resource handle, string string [, int length] ) fwrite() 把 string 的內容寫入檔案指標 handle 處。 參數說明: 參數 說明 handle 要寫入字串的檔案指針,一般由 fopen() 函數創建 data 要寫入的字串 length 可選,規定要寫入的最大位元組數

如果指定了可選參數 length,當寫入了 length 個位元組或寫完了 string 以後,寫入就會停止。

例:

複製程式碼 程式碼如下:

$fh = fopen($filename, "w"); echo fwrite($fh, $word); // 輸出:6 fclose($fh); ?>

執行該範例程序,在程序同目錄下,file.txt 檔案內容為:你好!

使用 length 參數 在上面的例子中,如果使用了 length 參數,則至多寫入 length 個字串: echo fwrite($fh, $word, 4); // 輸出:4

PHP fwrite 追加寫入 對檔案的追加寫入,實際上與 fwrite 函數無關,而與 fopen 函數開啟檔案的模式有關。當 fopen 開啟檔案時,mode 參數選擇 a ,則表示在檔案後面追加寫入:

複製程式碼 程式碼如下:

$fh = fopen($filename, "a"); echo fwrite($fh, $word); fclose($fh); ?>

PHP fwrite 換行寫入 如果要在檔案中實現換行寫入,只需要在寫入內容中需要換行的地方添加換行符 n 即可:

複製程式碼 程式碼如下:

$fh = fopen($filename, "a"); echo fwrite($fh, $word); fclose($fh); ?>

上面的例子在內容結尾加上了 n 換行符。要讓n 在寫入檔案時表示換行,寫入時需使用雙引號(如上面範例),如果使用單引號,n 字元不會被解釋為換行而是當做n 字串,點擊查看:PHP 字串中單引號與雙引號的差異。

n 已經是真正意義上的換行,在windows 作業系統上如果要模擬回車換行(即用寫字板開啟檔案時,不是黑方塊而是一行一行的列出),可以在n 前面加入r回車符:

複製程式碼 程式碼如下:

PHP fwrite 寫入權限 當開啟一個已經存在的檔案(通常是追加寫入模式下),有必要偵測該檔案是否具有寫入權限,從而避免一個系統錯誤的發生。使用 is_writable 函數檢測檔案是否可寫入。

以下是追加寫入模式下一個比較嚴格檢查的例子:

複製程式碼 程式碼如下:

// 確定文件存在且可寫 if (is_writable($filename)) { //開啟檔案 if (!$fh = fopen($filename, 'a')) { echo "不能開啟檔案 $filename"; exit; } // 寫入內容 if (fwrite($fh, $word) === FALSE) { echo "不能寫入到檔案 $filename"; exit; } echo "成功地將 $word 寫入到檔案 $filename"; fclose($fh); } else { echo "檔案 $filename 不可寫"; } ?>

PHP fwrite 函數只是執行向檔案寫入字串的動作,實際它的行為結果取決於 fopen 函數更多一些。如果想一次將字串寫入或追加至文件,file_put_contents 函數可能是更優的選擇。

PHP file_put_contents 函數:將字串寫入或追加到文件 PHP file_put_contents() 函數是一次寫入字串或追加字串內容給檔案的最適合選擇。

file_put_contents() file_put_contents() 函數用來把字串寫入文件,成功傳回寫入檔案內資料的位元組數,失敗則傳回 FALSE。

語法: int file_put_contents ( string filename, string data [, int flags [, resource context]] )

參數說明: 參數 說明 filename 要寫入資料的檔案名 data 要寫入的資料。類型可以是 string,array(但不能為多維數組),或是 stream 資源 flags 可選,規定如何開啟/寫入檔案。可能的值: FILE_USE_INCLUDE_PATH:檢查 filename 副本的內建路徑 FILE_APPEND:在文件結束時以追加的方式寫入數據 LOCK_EX:對檔案上鎖 context 可選,Context是一組選項,可以透過它修改文字屬性

例:

複製程式碼 程式碼如下:

運行該例子,瀏覽器輸出: 18 而 test.txt 檔案(與程式同目錄下)內容則為:This is something.。

提示 如果檔案不存在,則建立文件,相當於fopen()函數行為。 如果檔案存在,預設會清空檔案內的內容,可設定 flags 參數值為 FILE_APPEND 以避免(請參閱下方)。 本函數可安全用於二進位物件。

以追加形式寫入內容 當設定 flags 參數值為 FILE_APPEND 時,表示在已有檔案內容後面追加內容的方式寫入新資料: 執行程式後,test.txt 檔案內容變成:This is something.This is another something. file_put_contents() 的行為其實等於依序呼叫 fopen(),fwrite() 以及 fclose() 函數一樣。

參考閱讀

PHP fopen:檔案建立與開啟。 PHP fwrite:寫入字串給檔案。 PHP close:關閉一個開啟的檔案。 PHP file_get_contents:把整個檔案內容讀成一個字串。 PHP 檢查檔案能否讀寫執行 is_readable、is_writable 與 is_executable 函數

is_readable() 函數用於檢查檔案是否可讀,is_writable() 函數用於檢查檔案是否可寫入,is_executable() 函數用於檢查檔案是否可執行。 is_readable() is_readable() 函數用於檢查檔案是否可讀,指定的檔案或目錄存在且可讀取則傳回 TRUE,否則傳回 FALSE。

語法: bool is_readable( string filename ) 例子:

複製程式碼 程式碼如下:

is_writable() is_writable() 函數用於檢查檔案是否可寫入,如果檔案存在且可寫入則傳回 TRUE,否則傳回 FALSE。

語法: bool is_writable( string filename ) filename 參數可以是一個允許進行是否可寫入檢查的目錄名稱。

例:

複製程式碼 程式碼如下:

is_executable() is_executable() 函數用於檢查檔案是否可執行,如果檔案存在且可執行則傳回 TRUE,否則傳回 FALSE。用法請參考 is_writable()。



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板