2016-10-07 36 views
1

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

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

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

的方法$siteMap->__toString()最多保存50000个联系。

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

+1

也许这对你有帮助http://php.net/manual/en/function.fstat.php – Evgeniy

回答

4

当然,您可以使用mb_strlen获取字符串的长度,然后再将它写出到文件中。

$contents = $siteMap->__toString(); 

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

谢谢!它解决了我的问题 – CIRCLE

相关问题