课程咨询 :18300268127 QQ:2720475033

保险

  • PHP fwrite换行写入时换行符不起作用的原因

    发布:青岛php培训      来源:青岛php培训      时间:2016-07-21

  • 我们在使用fwrite写入文件时,新手会遇到一个最常见但又必须解决的问题,那就是换行写入。

    php的换行符我们都知道:\n ,回车符:\r,在需要换行时,通常是用“\r\n”这个组合。但是为什么我们在使用fwrite写入文件时\n换行符不起作用呢。我们先看下面这个例子:

    1

    2

    3

    4

    5

    6

    7

    $filename = 'file.txt';

    $word = '你好!\r\n欢迎来到www.webkaka.com';

    $fh = fopen($filename, "a"); //w从开头写入 a追加写入

    echo fwrite($fh, $word);

    fclose($fh);

    ?>

    $word的字符串内加上了回车换行符“\r\n”,但是输出结果并不是预期,这个回车换行符“\r\n”并没有被解析为换行符,而是直接被当作一个字符输出来了。

    为什么会出现这样的情况呢?经研究,原来是单双引号惹的祸!我们把$word定义字符串的单引号“'”换为双引号“"”就可以了。正确的写法如下:

    1

    2

    3

    4

    5$filename = 'file.txt';

    $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}此正则表达式序列匹配一个用十六进制符号表示的字符

上一篇:fwrite

下一篇:PHP中fwrite与file_put_contents的区别

最新开班日期  |  更多

PHP高级开发工程师优选班

PHP高级开发工程师优选班

开班日期:11月30日

PHP高级开发工程师定制班

PHP高级开发工程师定制班

开班日期:11月30日

PHP高级开发工程师就业班

PHP高级开发工程师就业班

开班日期:11月30日

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:11月30日

 扫一扫,关注一下! 青岛:市南区金坛路17号 济南:历下区趵突泉北路三联商社
济南:历下区山大路47号数码港大厦 潍坊:奎文区东风东街299号建行大厦
烟台:海港路25号阳光100城市广场 临沂:兰山区红旗路1号苏宁易购
淄博:张店区金晶大道68号华润大厦 济宁:市中区太白路10号苏宁生活广场
课程培训电话:18300268127 全国服务监督电话:400-111-8989    服务邮箱 tousu@tedu.cn

2001-2017 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56

达内教育

有位老师想和您聊一聊