まんまの例があった。
とりあえず写経。
42行目で、自分の環境にあった適当なフォルダパスを(絶対パスで)指定してやる。
速攻動かす。
よし。
しかし。ファイルサイズなんか見れても何も実用的じゃない。タメになる記事だけど、実用性がないんじゃ使えない。
せめてファイルの一覧を再帰的に出す(bashで言えば tree的な)な機能だったらよかったのに。次回実装する。
コピペ用
<?php
// nikkei XTECK
// 54. 再帰関数を使ってみよう
// https://xtech.nikkei.com/it/article/COLUMN/20070827/280408/
// 引数$path にはディレクトリorファイルの絶対パスを指定する。
function getDirSize($path) {
$toral_size = 0;
//指定したのがファイルだった場合はサイズを返して終了
if (is_file($path)) {
return filesize($path);
} elseif (is_dir($path)) {
$basename = basename($path);
// カレントディレクトリ(.)or
// 上位階層ディレクトリ(..)の場合はここで終了
if ($basename == '.' || $basename == '..') {
return 0;
}
// ディレクトリ内のファイル一覧を入手。
$file_list = scandir($path);
foreach ($file_list as $file) {
// ディレクトリ内のファイルを引数にして、自分自身を呼び出す再帰
$total_size += getDirSize($path . '/' . $file);
}
return $total_size;
} else {
return 0;
}
}
// カレントフォルダの確認
echo '------------------------<br>';
echo getcwd() . '<br>';
echo '------------------------<br>';
//関数実行
echo getDirsize('/media/WD30EZRX/PT3/test_pdf2jpg');