PHP File換行問題是在開發中經常遇到的一個技術問題,對于剛接觸PHP的開發者們來說,可能不會太熟悉,今天就給大家詳細的介紹一下。
首先需要了解的是在不同的操作系統中,文件的換行符不同。Windows中使用CRLF(\r\n),Mac OS Classic中使用CR(\r),UNIX/Linux 使用 LF(\n),這些方式稱為回車符(CR)和換行符(LF)。
PHP File中也需要注意這個問題,如下面的PHP File代碼所示:
<?php $fp = fopen('test.txt', 'w'); fwrite($fp, "Hello world!\n"); fwrite($fp, "I'm learning PHP File! \n"); fclose($fp); ?>
在Windows中運行會得到以下結果:
Hello world!\r\nI'm learning PHP File! \r\n
而在UNIX/Linux中運行會得到以下結果:
Hello world!\nI'm learning PHP File! \n
大家可以看到,不同的操作系統輸出的結果是不一樣的。
那么如何避免這個問題呢?
首先是在不同系統中設置不同的文件換行符。
<?php define('FILE_NEW_LINE', PHP_EOL); // PHP_EOL 為系統自帶快捷方式 $fp = fopen('test.txt', 'w'); fwrite($fp, "Hello world!" . FILE_NEW_LINE); fwrite($fp, "I'm learning PHP File!" . FILE_NEW_LINE); fclose($fp); ?>
這樣可以根據系統自動設置換行符,非常方便。
其次是通過 \r 和 \n 標識不同的換行符。
<?php $fp = fopen('test.txt', 'w'); fwrite($fp, "Hello world!\n\r"); fwrite($fp, "I'm learning PHP File! \n"); fclose($fp); ?>
上述代碼中,第一行中 \n\r 表示先換行再回車,這樣可以避免 Windows 下的換行符問題。
最后,建議大家在開發中運用PHP_EOL方式最為簡便和有序。
總結:PHP File 換行問題不同操作系統有不同的處理方式,需要開發者根據不同的系統設置不同的文件換行符。在開發中建議運用PHP_EOL方式最為簡便和有序。
下一篇php file 操作