首页 > 解决方案 > 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(),然后关闭文件

标签: phparraysjsonfopenfilesize

解决方案


这是一个逻辑错误的地方:fopen($FileName, "w+")
“w+”模式总是删除文件内容。只需使用“r+”模式,如果您稍后需要写入文件,请使用“w+”模式重新打开它。


推荐阅读