php fwrite写入文件时换行符\r\n不起作用
时间:2016-09-10
今天在使用php fwrite写入文件时,需要进行换行操作,一般我们都是使用\r\n进行换行,但是在我的php代码里面没有起到任何作用,后来网上查阅资料,是因为单引号惹的祸,于是记录下来供大家参考。
php的换行符我们都知道:\n ,回车符:\r,在需要换行时,通常是用“\r\n”这个组合。但是为什么我们在使用fwrite写入文件时\n换行符不起作用呢。我们先看下面这个例子:
<?php
$filename = 'manongjc.txt';
$str= '码农教程(www.manongjc.com)欢迎你的到来!\r\n在这里你可以学习关于PHP的知识';
$fh = fopen($filename, "a"); //第二个参数a表示追加写入
echo fwrite($fh, $str);
fclose($fh);
?>
执行上面代码,并打开manongjc.txt文件查看并没有换行,回车换行符“\r\n”并没有被解析为换行符,而是直接被当作一个字符输出来了。这是为什么呢?
这时候我们就应该思考一下PHP里面单引号与双引号的作用和区别了。关于php单引号与双引号的使用及区别,大家可以查看这篇文章:《php中单引号与双引号定义字符串的区别分析》
其中最主要的区别在于:
②对变量的解析不同
单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。同时单引号也不会解释\r\n换行。
所以将以上定义str变量的单引号换成双引号就可解决php fwrite写入文件时换行符\r\n不起作用。
正确代码如下:
<?php
$filename = 'manongjc.txt';
$str= "码农教程(www.manongjc.com)欢迎你的到来!\r\n在这里你可以学习关于PHP的知识";
$fh = fopen($filename, "a"); //第二个参数a表示追加写入
echo fwrite($fh, $str);
fclose($fh);
?>
- 详解JavaScript跨域问题
- OpenStack Magnum及Liberty新功能简介
- JDK10要来了:下一代 Java 有哪些新特性?
- 是时候忘掉finalize方法了
- 学会一个JVM插件:使用HSDIS反汇编JIT生成的代码
- ONOS 实战分享(一):项目建立、调试到热部署
- 自己动手系列-延迟队列
- OVS中Action源码分析&自定义Action
- 读懂一行Full GC日志(回复JVM内存分配担保机制一文中 Mr/Mrs Xxx 在留言区提出的问题)
- 总结了一些指针易出错的常见问题(四)
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 总结了一些指针易出错的常见问题(三)
- C++/C头文件 .h和 .c
- 史上最清晰的红黑树讲解(下)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Thinkphp 5.0实现微信企业付款到零钱
- 实现php删除链表中重复的结点
- YII分模块加载路由的实现办法
- ThinkPHP5.0框架实现切换数据库的方法分析
- php微信公众号开发之微信企业付款给个人
- tp5框架的增删改查操作示例
- PHP使用函数用法详解
- 微信企业转账之入口类分装php代码
- 多个Laravel项目怎么共用migrations详解
- layui数据表格自定义每页条数limit设置
- Laravel 集成微信用户登录和绑定的实现
- PHP实现微信对账单处理
- Laravel5.1框架路由分组用法实例分析
- PHP的HTTP客户端Guzzle简单使用方法分析
- laravel 框架实现无限级分类的方法示例