• « DirectoryIterator::isFile
  • DirectoryIterator::isReadable »
  • PHP Manual
  • DirectoryIterator
  • 現在の DirectoryIterator アイテムがシンボリックリンクであるかどうかを調べる

DirectoryIterator::isLink

(PHP 5, PHP 7)

DirectoryIterator::isLink — 現在の DirectoryIterator アイテムがシンボリックリンクであるかどうかを調べる

説明

public DirectoryIterator::isLink ( void ) : bool

現在の 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 アイテムが通常のファイルであるかどうかを調べる