filesize()return 0?

问题描述 投票:8回答:1

im试图使用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);
}

现在的问题是函数“ filesize()”总是返回0,但是如果我删除它上面的代码并将echo filesize($file_name);仅放在页面中..它将返回正确的值(文件大小),即使文件大小超过1MB,脚本也只生成1个文件,因为当fileize()函数返回!。时,文件大小为0。

我检查了这个问题PHP Problem : filesize() return 0 with file containing few data?但即使我按照答案#1]仍然无法正常工作

我希望您能理解我的问题。对不起我的英语。

im试图使用foreach插入数组值到文件中,如果文件大小最大为1MB(1000000byte)。脚本创建一个新文件,并将值放入其中...这是代码,我...

php filesize
1个回答
11
投票

函数文件大小在内部缓存您需要在每次写入后明确使用clearstatcache

此外,file_put_contents的用法似乎不正确

© www.soinside.com 2019 - 2024. All rights reserved.