PHP fwrite 函數:將字符串寫入文件(追加與換行)


PHP fwrite()

fwrite() 函數用於向文件寫入字符串,成功返回寫入的字符數,否則返回 FALSE 。

語法:

int fwrite( resource handle, string string [, int length] )

fwrite() 把 string 的內容寫入文件指針 handle 處。

參數說明:
參數 說明
handle 要寫入字符串的文件指針,一般由 fopen() 函數創建
data 要寫入的字符串
length 可選,規定要寫入的最大字節數

如果指定了可選參數 length,當寫入了 length 個字節或者寫完了 string 以后,寫入就會停止。

例子:

<?php
// 要寫入的文件名字
$filename = 'file.txt';
// 寫入的字符
$word = "你好!";

$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 ,則表示在文件后面追加寫入:

<?php
$filename = 'file.txt';
$word = "你好!";

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

PHP fwrite 換行寫入

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

<?php
$filename = 'file.txt';
$word = "你好!n";

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

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

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

<?php
$word = "你好!rn";
?>

PHP fwrite 寫入權限

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

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

<?php
$filename = 'file.txt';
$word = "你好!n";

// 確定文件存在並且可寫
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 函數更多一些。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM