gpt4 book ai didi

java - PHP 问题 : filesize() return 0 with file containing few data?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:55 26 4
gpt4 key购买 nike

我使用 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);

关于java - PHP 问题 : filesize() return 0 with file containing few data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com