php - filesize() 在尝试 fread() json 文件时返回 0
问题描述
关于我的目标的详细信息:
我想将来自我的移动应用程序的新数据与存储在 Json 文件中的数据结合起来,并使用该数据来处理用户的事情,但任何大于 1KB 的数据都会引发错误。
错误代码:PHP Warning: fread(): Length parameter must be greater than 0
我确保文件大小不是 0,它是 4.89KB !
编码 :
$RawFile = fopen($FileName, "w+") or die("Unable to open file!");
$IsiFile = fread($RawFile,filesize($FileName));
$DataFile = json_decode($IsiFile, true);
$DataPengguna = $DataFile[$UserID];
$DataOverwrite = $DataPengguna . '' . $tulisan;
$DataFile[$UserID] = $DataOverwrite;
fwrite($RawFile, json_encode($DataFile));
fclose($RawFile);
Json文件的内容:Prnt.sc/r9hek8
我的代码中变量的平均值:
$IsiFile = Json
$DataFile = 我更喜欢 Array 来访问数据
$DataPengguna = 用户数据 [每个用户都有自己的 UserID]
$DataOverwrite = 将已存储的旧数据与新数据合并
将其放回数组并执行 fwrite(),然后关闭文件
解决方案
这是一个逻辑错误的地方:fopen($FileName, "w+")
“w+”模式总是删除文件内容。只需使用“r+”模式,如果您稍后需要写入文件,请使用“w+”模式重新打开它。
推荐阅读
- python - 适用于 Python 的 Facebook 业务 SDK。有没有办法从这个库进行异步批处理调用?
- mule - 在 Mulesoft DWL 中,如何使用循环映射有效负载,直到我们在循环中有 null
- python - 获取任意形状的多维 numpy 数组的索引并将其用于另一个数组
- r - 在R中,如果给定另一列中的值相等,我如何平均列中的值
- clojure - 非限定键和命名空间键的区别?
- angular - Angular 拦截器不会调用 (POST)
- php - wordpress 中的帖子过滤返回所有帖子
- python - NaiveBayesClassifier 的输入列表结构是什么?
- javascript - Javascript从对象获取平面数组包含多个数组
- r - 从单个 lintr 中排除源文件行范围(不是所有 lintr)