filesize()返回0?

Pro*_*4me 7 php filesize

即时尝试使用foreach将数组值插入到文件中..如果文件大小达到1MB(1000000byte).该脚本创建一个新文件并将值放入...

这是我用过的代码:

foreach($array as $code){  

if(filesize($file_name) < '1000000'){
    $update_file = file_get_contents($file_name);
    file_put_contents($file_name,$update_file.$code);
}else{
    $open = fopen($file_name.rand('99999'),'w');
    file_put_contents($file_name,$code);

    }
echo filesize($file_name);
}
Run Code Online (Sandbox Code Playgroud)

现在问题是函数"filesize()"总是返回0 ,,但如果我删除它上面的代码并echo filesize($file_name);只放在页面中..它返回正确的值(文件大小),脚本也只做1文件甚至变得超过1MB,因为filesize为0,因为filesize()函数返回!

我检查了这个问题PHP问题:filesize()返回0包含少量数据的文件? 但即使我按照#1的答案,它仍然无法正常工作

我希望你理解我的问题..我很抱歉我的英语.

ajr*_*eal 10

函数filesize在内部缓存,每次写入后都
需要显式使用clearstatcache

除此之外,file_put_contents的使用似乎不正确

有关更多信息,请参阅手册