• []
  • []
  •  
  • del.icio.us 
  •  
  • Yahoo!֥åޡϿ 

DirectoryIterator ファイル・ディレクトリ制御クラスライブラリ

PHP 求人 募集 Symfony CakePHP Smarty Ruby on Rails

DirectoryIterator ファイル・ディレクトリ制御クラスライブラリ 概要

PHPでディレクトリを取り扱おうとすると、
異常に面倒くさい。
理由は結果の制御を配列でやろうとするからだ。

しかし、このDirectoryIteratorを使うと
非常に簡単に操作することができる。

DirectoryIterator ファイル・ディレクトリ制御クラスライブラリ 詳細

DirectoryIterator ファイル・ディレクトリ制御クラスライブラリ サンプル

プログラムファイル直下のディレクトリを閲覧する。

<?php
$path = ".";
try{
  foreach ( new DirectoryIterator( $path ) as $file ) {
    if ( !$file->isDot() ) {
      if( $file->isDir() ) // is directory
        echo "Dir:".$file->getFilename()."<br />\n";
      else  // is file
        echo "File:".$file->getFilename()."<br />\n";
    }
  }
}catch( Exception $errorObj ){
  echo $errorObj->getMessage();
}

結果

File:.htaccess
Dir:attic
Dir:cache
File:DirecotryIterator.php
Dir:index
Dir:locks
Dir:media
Dir:meta
Dir:pages
File:RecursiveDirectoryIterator.php
Dir:pages

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ディレクトリがまだエントリを持っているかどうかチェックする

spl/directoryiterator.txt · 最終更新: 2008/02/29 22:34 by dozo