首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >filesize()是否返回0?

filesize()是否返回0?
EN

Stack Overflow用户
提问于 2011-09-10 14:03:56
回答 1查看 4.3K关注 0票数 8

我正在尝试使用foreach将数组值插入到文件中。如果文件大小达到1MB (1000000字节)。脚本创建一个新文件并将值放入...

这是我使用的代码:

代码语言:javascript
复制
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); ..它返回正确的值(文件的大小),当filesize()函数返回时,由于filesize ()函数返回的文件大小为0,脚本也只创建了1个文件。

我检查了这个问题PHP Problem : filesize() return 0 with file containing few data?,但它仍然不能工作,即使我遵循答案#1

我希望你能理解我的问题..我为我的英语感到抱歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-10 14:16:15

函数filesize在内部缓存

您需要在每次写入后显式使用clearstatcache

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

有关更多信息,请参阅the manual

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7369962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档