创建前检查文件大小

时间:2016-10-07 12:40:17

标签: php filesize

我正在创建一个系统来为我正在处理的应用程序生成站点地图,并且生成站点地图的一个要求是每个站点地图的文件大小不应超过10mb(可以看到here的10,485,760字节)。

这是我创建站点地图的代码:

$fp = fopen($this->getSitemapPath() . $filename, 'w');
fwrite($fp, $siteMap->__toString());
fclose($fp);

方法$siteMap->__toString()最多可容纳50000个链接。

在调用函数fwrite之前,有没有办法检查生成的文件大小?

1 个答案:

答案 0 :(得分:4)

当然,在将字符串写入文件之前,您可以使用mb_strlen来获取字符串的长度。

$contents = $siteMap->__toString();

if(mb_strlen($contents, '8bit') >= 10485760) {
    echo "Oops, this is too big";
} else {
    fwrite($fp, $contents);
}