php ディレクトリの容量を調べる
<?php
function dir_size($dir)
{
$handle = opendir($dir);
while ($file = readdir($handle)) {
if ($file != '..' && $file != '.' && !is_dir($dir.'/'.$file)) {
$mas += filesize($dir.'/'.$file);
} else if (is_dir($dir.'/'.$file) && $file != '..' && $file != '.') {
$mas += dir_size($dir.'/'.$file);
}
}
return $mas;
}
?>
・ディレクトリーの中にあるファイルの容量を取得して、合算していく。
・ディレクトリーの中に、さらにディレクトリーがあれば、再帰的に処理する。
これでOKですね。
PHP/フォルダ内の容量計算
実際にHDDのブロックをどのくらい占有しているかは分からない。
Linuxならシステムコマンド du を使えば簡単に求められる。<?php
$a = exec("du -s -b udon/data/");
if(ereg("([0-9]+)",$a,$reg)){
print_r($reg);
echo "合計 {$reg[1]} byte 占有";
}
?>
・ファイルの容量を合算しただけでは、HDDの使用容量より小さい値になる。
=ファイルのサイズによっては、HDDのセクタにデータが書き込まれていない空の領域(端切れ)が生じるので、その分だけ余計にHDDの容量を消費している。
・PHPのexec関数が使えるWEBサーバなら、Linuxのシステムコマンド「du」を使えばOK
なるほど!
![]() | PHPのドリル (2009/03) ミューテック 商品詳細を見る |
- 関連記事
-
- PHPのstrlen関数で全角文字が3バイトになる件
- PHPでファイル一括削除
- PHPで日時の大小比較
- CodeIgniter 1.7.1 日本語化パック
- AmazonのASINで、36進数を10進数へ変換
- PHPの正規表現
- MatchBox for CodeIgniter 使い方
- PHPでディレクトリの容量を計算する方法
- CodeIgniterで作られたwiki
- MatchBox for CodeIgniter 和訳
- CodeIgniterでSSLを使う方法
- PHPでできる簡単サーバ監視
- VertrigoServでお手軽PHP
- サクラエディタでPHPプログラミング
- CakePHPガイドブック