DirectoryIterator::isLink
(PHP 5)
DirectoryIterator::isLink — 現在の DirectoryIterator アイテムがシンボリックリンクであるかどうかを調べる
パラメータ
この関数にはパラメータはありません。
返り値
エントリがシンボリックリンクである場合に TRUE、そうでない場合に FALSE
を返します。
例
例1 DirectoryIterator::isLink() の例
この例は、ディレクトリツリーを削除する再帰関数です。
<?php
/**
* この関数は、指定したパスの配下にあるすべてのファイルを削除しますが
* シンボリックリンクの先はたどりません
*
* @param string $path 削除したいディレクトリのパス
*/
function removeDir($path) {
$dir = new DirectoryIterator($path);
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile() || $fileinfo->isLink()) {
unlink($fileinfo->getPathName());
} elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
removeDir($fileinfo->getPathName());
}
}
rmdir($path);
}
removeDir('foo');
?>
参考
- DirectoryIterator::getType() - 現在の DirectoryIterator アイテムのタイプを判定する
- DirectoryIterator::isDir() - 現在の DirectoryIterator アイテムがディレクトリであるかどうかを調べる
- DirectoryIterator::isDot() - 現在の DirectoryIterator アイテムが '.' もしくは '..' であるかどうかを調べる
- DirectoryIterator::isFile() - 現在の DirectoryIterator アイテムが通常のファイルであるかどうかを調べる