首頁  >  文章  >  类库下载  >  PHP fwrite換行寫入時換行符號不起作用的原因

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

高洛峰
高洛峰原創
2016-10-20 14:45:051558瀏覽

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

  php的換行符我們都知道:n ,回車符:r,在需要換行時,通常是用「rn」這個組合。但是為什麼我們在使用fwrite寫入檔案時n換行符不起作用呢。我們先看下面這個例子:

  

<?php
 $filename = &#39;file.txt&#39;;
 $word = &#39;你好!\r\n欢迎来到www.webkaka.com&#39;;
 $fh = fopen($filename, "a"); //w从开头写入 a追加写入
 echo fwrite($fh, $word);
 fclose($fh);
?>

   

  $word的字符串內加上了回車換行符“rn”,但是輸出結果並不是預期,這個回車換行符“rn”並沒有預期被解析為換行符,而是直接被當作一個字元輸出來了。

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

  

$filename = &#39;file.txt&#39;;
$word = "你好!\r\n欢迎来到www.webkaka.com";
$fh = fopen($filename, "a"); //w从开头写入 a追加写入
echo fwrite($fh, $word);
fclose($fh);

   

  

題外話,上述例子裡echo fwrite()顯示的一個數字,這個數字表示字符串的長度。 ,PHP 懂得更多特殊字符的轉義序列:

轉移序列說明

n換行

r回車

t水平製表符

[/td>反斜線

$美元符號

"雙引號

[0-7]{1,3}此正規表示式序列會符合一個以八進位符號表示的字元

x[0-9A-Fa-f]{1,2}此正規表示式序列相符一個用十六進位符號表示的字元

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多