国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

PHP fwrite換行寫入時(shí)換行符不起作用的原因

2019-01-17 09:44:50 5001

我們?cè)谑褂胒write寫入文件時(shí),新手會(huì)遇到一個(gè)最常見(jiàn)但又必須解決的問(wèn)題,那就是換行寫入。


  php的換行符我們都知道:\n ,回車符:\r,在需要換行時(shí),通常是用“\r\n”這個(gè)組合。但是為什么我們?cè)谑褂胒write寫入文件時(shí)\n換行符不起作用呢。我們先看下面這個(gè)例子:


  


<?php

 $filename = 'file.txt';

 $word = '你好!\r\n歡迎來(lái)到www.tjdsmy.cn';

 $fh = fopen($filename, "a"); //w從開(kāi)頭寫入 a追加寫入

 echo fwrite($fh, $word);

 fclose($fh);

?>

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


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



$filename = 'file.txt';

$word = "你好!\r\n歡迎來(lái)到www.tjdsmy.cn";

$fh = fopen($filename, "a"); //w從開(kāi)頭寫入 a追加寫入

echo fwrite($fh, $word);

fclose($fh);

  


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


知識(shí)擴(kuò)充


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


轉(zhuǎn)移序列說(shuō)明


\n換行


\r回車


\t水平制表符


\[/td>反斜線


\$美元符號(hào)


\"雙引號(hào)


\[0-7]{1,3}此正則表達(dá)式序列匹配一個(gè)用八進(jìn)制符號(hào)表示的字符


\x[0-9A-Fa-f]{1,2}此正則表達(dá)式序列匹配一個(gè)用十六進(jìn)制符號(hào)表示的字符


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: