• « DirectoryIterator::isFile
  • DirectoryIterator::isReadable »
  • Bejson.com
  • PHP Manual
  • DirectoryIterator
  • Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isLink

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::isLink — Determine if current DirectoryIterator item is a symbolic link

说明

public DirectoryIterator::isLink(): bool

Determines if the current DirectoryIterator item is a symbolic link.

参数

此函数没有参数。

返回值

Returns true if the item is a symbolic link, otherwise false

范例

示例 #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');
?>

参见

  • DirectoryIterator::getType() - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir() - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot() - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile() - Determine if current DirectoryIterator item is a regular file