fwrite是php中一個(gè)常用的文件寫入函數(shù),通過fwrite函數(shù)我們可以將一些數(shù)據(jù)寫入到文件中。但是當(dāng)我們想要換行時(shí),卻很容易遇到問題。
舉個(gè)例子,我們想在寫入文本文件時(shí),每一行都換到新的一行上。我們可以通過以下代碼來實(shí)現(xiàn):
$file = 'test.txt'; // 文件名 // 打開文件,如果不存在則創(chuàng)建 $fp = fopen($file, 'a'); if (!$fp) { echo '打開文件失敗!'; exit; } // 寫入數(shù)據(jù) fwrite($fp, "Hello, World!\n"); // 關(guān)閉文件 fclose($fp);
其中的\n就代表著一個(gè)換行符。這樣,我們就能保證每次寫入數(shù)據(jù)時(shí),都會(huì)自動(dòng)換到新的一行上了。
需要注意的是,不同的操作系統(tǒng)對(duì)換行符的表示可能有所不同。在Windows中,換行一般表示為\r\n,在Unix/Linux中則僅為\n。因此,如果我們?cè)赪indows中創(chuàng)建的文件,想要在Unix/Linux系統(tǒng)下運(yùn)行,可能會(huì)出現(xiàn)無法識(shí)別換行符的問題。
另外,如果我們?cè)谑褂胒write函數(shù)時(shí),想要在每次寫入數(shù)據(jù)時(shí)都自動(dòng)追加一個(gè)換行符,可以這樣實(shí)現(xiàn):
$file = 'test.txt'; // 文件名 // 打開文件,如果不存在則創(chuàng)建 $fp = fopen($file, 'a'); if (!$fp) { echo '打開文件失敗!'; exit; } // 寫入數(shù)據(jù) fwrite($fp, "Hello, World!"); fwrite($fp, PHP_EOL); // 自動(dòng)追加一個(gè)換行符 // 關(guān)閉文件 fclose($fp);
其中,PHP_EOL代表著當(dāng)前操作系統(tǒng)下的換行符,可以保證在不同系統(tǒng)之間的兼容性。
除了自動(dòng)追加換行符,我們還可以通過在每次寫入數(shù)據(jù)時(shí)手動(dòng)添加一個(gè)換行符,來實(shí)現(xiàn)我們的需求:
$file = 'test.txt'; // 文件名 // 打開文件,如果不存在則創(chuàng)建 $fp = fopen($file, 'a'); if (!$fp) { echo '打開文件失敗!'; exit; } // 寫入數(shù)據(jù) fwrite($fp, "Hello, World!"); fwrite($fp, "\n"); // 手動(dòng)添加一個(gè)換行符 // 關(guān)閉文件 fclose($fp);
這樣,我們就能在每次寫入數(shù)據(jù)時(shí)都手動(dòng)添加一個(gè)換行符了。
總之,無論是自動(dòng)追加換行符還是手動(dòng)添加換行符,我們都可以通過使用fwrite函數(shù)來實(shí)現(xiàn)文件的換行操作。只需要注意換行符的表示方式和兼容性問題,就能輕松實(shí)現(xiàn)了。