• PHP Manual
  • Function Reference
  • Other Basic Extensions
  • SPL
  • Iterators
  • DirectoryIterator
  • DirectoryIterator::__construct
  • DirectoryIterator::current
  • DirectoryIterator::getATime
  • DirectoryIterator::getBasename
  • DirectoryIterator::getCTime
  • DirectoryIterator::getExtension
  • DirectoryIterator::getFilename
  • DirectoryIterator::getGroup
  • DirectoryIterator::getInode
  • DirectoryIterator::getMTime
  • DirectoryIterator::getOwner
  • DirectoryIterator::getPath
  • DirectoryIterator::getPathname
  • DirectoryIterator::getPerms
  • DirectoryIterator::getSize
  • DirectoryIterator::getType
  • DirectoryIterator::isDir
  • DirectoryIterator::isDot
  • DirectoryIterator::isExecutable
  • DirectoryIterator::isFile
  • DirectoryIterator::isLink
  • DirectoryIterator::isReadable
  • DirectoryIterator::isWritable
  • DirectoryIterator::key
  • DirectoryIterator::next
  • DirectoryIterator::rewind
  • DirectoryIterator::seek
  • DirectoryIterator::__toString
  • DirectoryIterator::valid
DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator
PHP Manual

DirectoryIterator::isLink

Determine if current DirectoryIterator item is a symbolic link

Description

public bool DirectoryIterator::isLink ( void )

Determines if the current DirectoryIterator item is a symbolic link.

Parameters

This function has no parameters.

Return Values

Returns TRUE if the item is a symbolic link, otherwise FALSE

Examples

Example #1 A DirectoryIterator::isLink example

This example contains a recursive function for removing a directory tree.

<?php
/**
 * This function will recursively delete all files in the given path, without
 * following symlinks.
 * 
 * @param string $path Path to the directory to remove.
 */
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');
?>

See Also

  • DirectoryIterator::getType
  • DirectoryIterator::isDir
  • DirectoryIterator::isDot
  • DirectoryIterator::isFile