関数の概要
PHPの disk_total_space 関数は、指定したパスにあるディスクの総容量(バイト単位)を取得するための関数です。サーバー上の特定のドライブやパーティションの容量を知りたい場合に非常に便利で、ディスク容量の管理や監視を行う際によく利用されます。
パラメータの説明
directory(必須):容量を取得したいディスクやパーティションのルートディレクトリのパスを文字列で指定します。例えば、Windowsなら"C:"、Unix系なら"/"など。
戻り値
指定したディレクトリが存在しアクセス可能な場合、そのディスクの総容量(バイト数)を float 型で返します。もし指定パスが無効であったりアクセスできない場合は FALSE を返します。
使用例
基本的な使い方
<?php
$diskTotal = disk_total_space("/");
if ($diskTotal !== false) {
echo "ディスクの総容量は " . round($diskTotal / 1024 / 1024 / 1024, 2) . " GB です。";
} else {
echo "ディスク情報を取得できませんでした。";
}
?>
この例では、ルートディレクトリ "/" の総ディスク容量を取得し、ギガバイト単位で表示しています。
WindowsでドライブCの容量を取得
<?php
$diskTotal = disk_total_space("C:");
if ($diskTotal !== false) {
echo "Cドライブの総容量は " . number_format($diskTotal / 1024 / 1024 / 1024, 2) . " GB です。";
} else {
echo "Cドライブの情報取得に失敗しました。";
}
?>
Windows環境でドライブCの総容量を取得し、コンマ区切りの形式で表示しています。
特定のサブディレクトリのあるディスク容量を取得
<?php
$path = "/var/www/html";
$diskTotal = disk_total_space($path);
if ($diskTotal !== false) {
echo "{$path}が存在するディスクの総容量は " . round($diskTotal / 1024 / 1024 / 1024, 2) . " GB です。";
} else {
echo "パスが不正、またはアクセスできません。";
}
?>
任意のディレクトリパスを指定して、そのディレクトリが含まれるディスクの総容量を取得しています。
関連する関数
disk_free_space:指定ディスクの空き容量をバイト数で取得します。diskfreespace:disk_free_spaceの別名で、同じ機能を持ちます。filesize:指定したファイルのサイズを取得しますが、ディスク全体の容量ではありません。statvfs(PHP拡張による):ファイルシステムの統計情報を詳細に取得できます。
まとめ
disk_total_space 関数は、サーバー上の特定ディスクの総容量を簡単に取得できる便利な関数です。容量管理やシステムの監視に役立ち、実務でのディスク使用量チェックにもよく使われます。使用する際は、対象のパスが正確かつアクセス可能であることを確認しましょう。空き容量を知りたい場合は disk_free_space と組み合わせるのがおすすめです。
