2016-10-07 11 views
1

私が取り組んでいるアプリケーション用のサイトマップを生成するシステムを作成しています。サイトマップを生成するための要件の1つは、各サイトマップのファイルサイズが10MBを超えないようにすることです(10,485,760バイト)を参照してください。here作成前のファイルサイズを確認する

これは、サイトマップを作成するために私のコードです:

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

50000個のリンクの最大値を保持している$siteMap->__toString()方法を。

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

関連する問題