技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

PHP fwrite換行寫入時換行符不起作用的原因

作者:admin    時間:2013-8-5 11:31:20    瀏覽:

我們在使用fwrite寫入文件時,新手會遇到一個最常見但又必須解決的問題,那就是換行寫入。

php的換行符我們都知道:\n ,回車符:\r,在需要換行時,通常是用“\r\n”這個組合。但是為什么我們在使用fwrite寫入文件時\n換行符不起作用呢。我們先看下面這個例子:

<?php
$filename = 'file.txt';
$word = '你好!\r\n歡迎來到howtostagehomes.com';
$fh = fopen($filename, "a"); //w從開頭寫入 a追加寫入
echo fwrite($fh, $word);
fclose($fh);
?>

$word的字符串內(nèi)加上了回車換行符“\r\n”,但是輸出結(jié)果并不是預(yù)期,這個回車換行符“\r\n”并沒有被解析為換行符,而是直接被當(dāng)作一個字符輸出來了。

為什么會出現(xiàn)這樣的情況呢?經(jīng)研究,原來是單雙引號惹的禍!我們把$word定義字符串的單引號“'”換為雙引號“"”就可以了。正確的寫法如下:

<?php
$filename = 'file.txt';
$word = "你好!\r\n歡迎來到howtostagehomes.com";
$fh = fopen($filename, "a"); //w從開頭寫入 a追加寫入
echo fwrite($fh, $word);
fclose($fh);
?>

題外話,上述例子里echo fwrite()顯示的一個數(shù)字,這個數(shù)字表示字符串的長度。

知識擴(kuò)充

用雙引號(")定義字符串,PHP 懂得更多特殊字符的轉(zhuǎn)義序列:

轉(zhuǎn)移序列 說明
\n 換行
\r 回車
\t 水平制表符
\[/td> 反斜線
\$ 美元符號
\" 雙引號
\[0-7]{1,3} 此正則表達(dá)式序列匹配一個用八進(jìn)制符號表示的字符
\x[0-9A-Fa-f]{1,2} 此正則表達(dá)式序列匹配一個用十六進(jìn)制符號表示的字符

您可能對如下文章也感興趣

實(shí)例分析php單引號和雙引號的區(qū)別

標(biāo)簽: fwrite  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */