即时尝试使用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的使用似乎不正确
有关更多信息,请参阅手册