disk_total_space

関数の概要

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:指定ディスクの空き容量をバイト数で取得します。
  • diskfreespacedisk_free_space の別名で、同じ機能を持ちます。
  • filesize:指定したファイルのサイズを取得しますが、ディスク全体の容量ではありません。
  • statvfs (PHP拡張による):ファイルシステムの統計情報を詳細に取得できます。

まとめ

disk_total_space 関数は、サーバー上の特定ディスクの総容量を簡単に取得できる便利な関数です。容量管理やシステムの監視に役立ち、実務でのディスク使用量チェックにもよく使われます。使用する際は、対象のパスが正確かつアクセス可能であることを確認しましょう。空き容量を知りたい場合は disk_free_space と組み合わせるのがおすすめです。