(PHP 5, PHP 7)
DirectoryIterator::isLink — 現在の DirectoryIterator アイテムがシンボリックリンクであるかどうかを調べる
現在の 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');
?>