[:ja]指定したフォルダ以下の全てのファイルの文字数をカウント[:]

[:ja]要点まとめ

//処理に時間制限を10分に緩める。
set_time_limit(600);

//ディレクトリのハンドル取得
if (! $handle = opendir($dir)){

//ファイルを1つずつ開いていく
while (false !== ($file = readdir($handle))) {

//ファイルでなければ除外
if($file == “.” || $file == “..”) continue;

//ディレクトリなら再起処理
if(is_dir(“$dir/$file”)){
再起処理
}

//ファイルの中身取得
$str = file_get_contents(“$dir/$file”);

//正しく計測できるように”UTF-8″に統一する
$str = mb_convert_encoding($str, “UTF-8”, $GLOBALS[‘file_encoding’]);

//改行文字の置き換え
$str = str_replace(“\r\n”, “\n”, $str);
$str = str_replace(“\r”, “\n”, $str);

改行を除外する場合は
$str = str_replace(“\n”, “”, $str);

//文字数を数える
$length = mb_strlen($str);

//全体の文字数に追加する。
$count += $length;

//ハンドルを破棄
closedir($handle);[:]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です