php5.6的file_put_contents参数求解

从不吃馍 2018-01-02 06:22:44
<?php
$txt = intval(file_get_contents('cly.txt'));
file_put_contents('cly.txt', strval($txt + 1));
echo $txt;
?>

上面的是我php文件全部代码
-----------测试问题----------
php5.6环境下:
当运行这个文件的时候,如果cly.txt不存在,会生成一个cly.txt并写入数字1,页面404,也就是说echo $txt;并没有执行
服务器提示:PHP Warning: file_get_contents(cly.txt): failed to open stream: No such file or directory in D:\www\index.php on line 3
当运行这个文件的时候,如果cly.txt已经存在,会把cly.txt的数字+1并写回去,页面返回2,echo $txt;执行成功。

php5.2环境下:
当运行这个文件的时候,如果cly.txt不存在,会生成一个cly.txt并写入数字1,页面返回1,也就是说在5.2的环境下,即使cly.txt不存在,echo $txt;也依然执行了。

-----------那么问题来了----------
5.6的环境下,如果cly.txt不存在,那么用file_put_contents创建了该文件之后,页面就404了,怎么样才能让file_put_contents创建一个新文件之后依然正常的执行下去呢。同样的问题在5.2环境下就不存在,是我代码写的不规范吗?求指正,5.6中怎么才能正常。
...全文
230 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-01-02
  • 打赏
  • 举报
回复
术业有专攻,已经有了强大的 mkdir,又何必赋予其他函数而外的功能 分工协作才是必有的团队精神
从不吃馍 2018-01-02
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
不管什么环境 file_get_contents 一个可能不存在的文件,总是不对的
问题已经解决了,先if(!file_exists('cly.txt'))就搞定了,是我钻了牛角尖,一直在想着怎么不让程序报错,忘记可以先判断了。 另外还有个问题,file_put_contents不能创建文件夹吗?父目录已经设置可写并且向下继承了,但是代码不能创建文件夹。 $name='aaa/cly.txt'; ​file_put_contents($name, ''); 这样子,aaa不能创建,必须手动创建aaa之后,cly.txt才能自动生成,有办法解决吗?
xuzuning 2018-01-02
  • 打赏
  • 举报
回复
不管什么环境 file_get_contents 一个可能不存在的文件,总是不对的

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧