代码如下:
$file = new \SplFileObject($path->get(), 'w');
$file->fwrite('UUUaaaaOA323423482739S');
$file->rewind();
echo $file->fgets();
exit;
结果如下:
数据已成功写入指定文件
但是echo fgets()却是空的字符串
修改代码,去掉初始方法中的参数'w',如下:
$file = new \SplFileObject($path->get());
$file->fwrite('----------UUUaaaaOA323423482739S');
$file->rewind();
echo $file->fgets();
exit;
结果如下:
数据写入失败
但是echo fgets()
可以获取之前写入的数据
请问SplFileObject不能读写同时进行嘛?
这个和文件打开模式有关系,
1.打开模式为w,那么就是只写,不读
2.打开模式为r,那么就是只读,不写
3.打开模式为w+,那么指针就是在文件开头处读写
4.打开模式为a+,那么指针就是在文件末尾处读写
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。