开发者社区> 问答> 正文

请问SplFileObject不能读写同时进行吗,为什么?

代码如下:

$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不能读写同时进行嘛?

展开
收起
落地花开啦 2016-06-14 15:02:05 2432 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    这个和文件打开模式有关系,
    1.打开模式为w,那么就是只写,不读
    2.打开模式为r,那么就是只读,不写
    3.打开模式为w+,那么指针就是在文件开头处读写
    4.打开模式为a+,那么指针就是在文件末尾处读写

    2019-07-17 19:37:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载