function GetPath($path) { $dirIterator = new RecursiveDirectoryIterator($path); $tmptime = 0; // サブフォルダ内も含めたファイル分回す foreach ( $iterator = new RecursiveIteratorIterator($dirIterator, RecursiveIteratorIterator::SELF_FIRST) as $file){ $space = str_repeat(" ", $iterator->getDepth()); $filename = $file->getFilename(); if ($file->isDir()) { // ディレクトリ表示 echo $space . "Dir:" . $filename; // ファイル } else { // ファイル表示 echo $space . "File:" . $filename; } // 階層 echo "【" . $iterator->getDepth() . "階層目】"; // 最終修正時刻 echo "【" . date("Y/m/d H:i:s", $file->getMTime()) . "】" . PHP_EOL; } } GetPath('D:\\logs\\');
参考URL
http://dozo.matrix.jp/spl/directoryiterator
http://dozo.matrix.jp/spl/directoryiterator/recursive
DirectoryIterator ファイル・ディレクトリ制御クラスライブラリ メソッド
メソッド 概要
DirectoryIterator::__construct | パスから新規ディレクトリイテレータを生成する |
DirectoryIterator::current | これ自身を返す (Iterator インターフェースが必要) |
DirectoryIterator::getATime | ファイルの最終アクセス時刻を取得する |
DirectoryIterator::getCTime | ファイルの inode 修正時刻を取得する |
DirectoryIterator::getFilename | 現在のディレクトリエントリのファイル名を返す |
DirectoryIterator::getGroup | ファイルのグループを取得する |
DirectoryIterator::getInode | ファイルの inode を取得する |
DirectoryIterator::getMTime | ファイルの最終修正時刻を取得する |
DirectoryIterator::getOwner | ファイルの所有者を取得する |
DirectoryIterator::getPath | ディレクトリパスを返す |
DirectoryIterator::getPathname | 現在のディレクトリエントリのパスとファイル名を返す |
DirectoryIterator::getPerms | ファイルのパーミッションを取得する |
DirectoryIterator::getSize | ファイルサイズを取得する |
DirectoryIterator::getType | ファイルタイプを取得する |
DirectoryIterator::isDir | ファイルがディレクトリであれば true を返す |
DirectoryIterator::isDot | 現在のエントリが '.' もしくは '..' の場合 true を返す |
DirectoryIterator::isExecutable | ファイルが実行可能な場合 true を返す |
DirectoryIterator::isFile | ファイルが通常のファイルの場合 true を返す |
DirectoryIterator::isLink | ファイルがシンボリックリンクの場合 true を返す |
DirectoryIterator::isReadable | ファイルが読込可能であれば true を返す |
DirectoryIterator::isWritable | ファイルが書き込み可能であれば true を返す |
DirectoryIterator::key | 現在のディレクトリエントリを返す |
DirectoryIterator::next | 次のエントリに移動する |
DirectoryIterator::rewind | ディレクトリを最初に巻き戻す |
DirectoryIterator::valid | ディレクトリがまだエントリを持っているかどうかチェックする |
RecursiveDirectoryIterator 再帰型ファイル・ディレクトリ制御 メソッド
メソッド 概要
RecursiveDirectoryIterator::getChildren | ディレクトリであれば、現在のエントリに対するイテレータを返す |
RecursiveDirectoryIterator::hasChildren | 現在のエントリがディレクトリかつ '.' もしくは '..' でないかどうかを返す |
RecursiveDirectoryIterator::key | 現在のディレクトリエントリのパスとファイル名を返す |
RecursiveDirectoryIterator::next | 次のエントリに移動する |
RecursiveDirectoryIterator::rewind | ディレクトリを最初に巻き戻す |
DirectoryIteratorはRecursiveDirectoryIteratorの親クラス
免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。
子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記
コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫
良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ
0 件のコメント:
コメントを投稿