SplFileInfo::isFile

(PHP 5 >= 5.1.2, PHP 7)

SplFileInfo::isFileTells if the object references a regular file

说明

public SplFileInfo::isFile ( void ) : bool

Checks if the file referenced by this SplFileInfo object exists and is a regular file.

参数

此函数没有参数。

返回值

Returns TRUE if the file exists and is a regular file (not a link), FALSE otherwise.

范例

Example #1 SplFileInfo::isFile() example

<?php
$info 
= new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

以上例程的输出类似于:

bool(true)
bool(false)

User Contributed Notes

dev at mike dot pp dot ua 20-Jun-2019 09:12
Documentation is a bit misleading.

SplFileInfo->isFile() and other classes (e.g. DirectoryIterator->isFile()) return TRUE for symlinks of files. Better use getType() method instead, which returns 'link' for symlinks.

This was reported long time ago - https://bugs.php.net/bug.php?id=72364 , but docs are still not fixed.