PHP问题:filesize()返回0且文件中包含的数据很少?

我使用PHP调用Java命令,然后将其结果转发到名为result.txt的文件中。例如,文件包含以下内容:“结果为:5.0”,但函数filesize()返回0,并且当我通过“

ls -l”命令进行检查时,它也为0。因为我决定在文件大小时将结果打印到屏幕上!= 0,因此不打印任何内容。如何获得小数位数?或其他解决方案?

回答:

在docs中,当您调用时filesize,PHP会将结果缓存在stat缓存中。

您是否尝试清除统计信息缓存?

clearstatcache();

如果不起作用,则可能的解决方法是打开文件,查找到结尾,然后使用ftell

$fp = fopen($filename, "rb");

fseek($fp, 0, SEEK_END);

$size = ftell($fp);

fclose($fp);

如果您实际上打算将输出显示给用户,则可以读取整个文件,然后读取strlen

$data = file_get_contents($filename);

$size = strlen($data);

以上是 PHP问题:filesize()返回0且文件中包含的数据很少? 的全部内容, 来源链接: utcz.com/qa/397558.html

回到顶部