您的位置:网站首页 > php源码 > 正文

PHP文件写入和读取详解(一

类别:php源码 日期:2017-6-22 18:45:04 人气: 来源:

  在windows下工作的小伙伴们应该很熟悉,windows下的径分隔符是“\”而不是“/”,但我们在写入径时不能以钦定的“\”为分隔符

  【注意】fopen函数不能理解“\”分隔符,如果你想要使用“\”,那么要使用转义,如写成:C:\\wamp64\\www\\text.txt这种写法也是可以的,函数也能理解,不会报错。但即使这样,也不推荐使用“\”,因为在OS(mac)下只能识别“/”不能识别“\”

  上一小节介绍的是绝对径的写法,但这样却带来了另外一个问题:服务器的目录结构可能会有较大的改变,这时原来写的绝对径就要全部重写了,比如在我的电脑上的目标文件径是C:/wamp64/www/text.txt,如果我把www文件夹改名为penghuwan呢?原来写入的径参数就失效了。所以我们引入了相对径的写法:

  • $_SERVER是PHP的超级全局变量(在代码任何地方都可访问,类型是数组),通过$_SERVER[DOCUMENT_ROOT]可取到服务器的默认根目录

  “a”:只追加文件,与“w”类似,区别是“w”删除原有的内容,“a”不删除原有内容,只追加内容

  运行后打开C:/wamp64/,发现文件内容并没有改变,说明由于没有设置相应的权限,操作被忽略了

  很全面,但我觉得这张表对新手有些不太友好,让人看后不知多云。 r是只读,w是只写(原来有的内容全删除),a是追加(不删除原有内容),这都好理解。

  但r+,w+,和a+的区别和联系讲的实在太模糊了呀。 这里我就想详细地讲一下r+,w+,和a+三者的区别和联系:

  下面我依次演示上述的结论,首先我们没有写入的时候文本是”I am initialized value”(意为我是初始值)

  运行后,我们发现”I am initialized value”已经被删除了,然后才加上了“w+ mode”这段新文本

  【注意】r+,a+,w+还有一个区别是a+,w+在文件不存在时则创建文件,r+文件不存在时报错

  【吐槽】:关于r+和w+,a+的区别,我找了网络上,包括W3C和各种博客文章以及那本“PHP圣经”上的各种资料,发现都是一笔带过去的,这也是我写这篇文章的原因

  推荐:

  

0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: