學習php的fwrite函數

來源:互聯網
上載者:User
本文為大家介紹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); // 輸出:6fclose($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()。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.