文件說明有點誤導。
SplFileInfo->isFile() 和其他類別(例如 DirectoryIterator->isFile())對於檔案的符號連結會傳回 TRUE。最好改用 getType() 方法,它會為符號連結傳回 'link'。
這早在很久以前就回報過了 - https://bugs.php.net/bug.php?id=72364,但文件仍然沒有修正。
(PHP 5 >= 5.1.2, PHP 7, PHP 8)
SplFileInfo::isFile — 判斷物件是否參考常規檔案
此函式沒有參數。
範例 1 SplFileInfo::isFile() 範例
<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());
$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>
上述範例會輸出類似以下的結果
bool(true) bool(false)
文件說明有點誤導。
SplFileInfo->isFile() 和其他類別(例如 DirectoryIterator->isFile())對於檔案的符號連結會傳回 TRUE。最好改用 getType() 方法,它會為符號連結傳回 'link'。
這早在很久以前就回報過了 - https://bugs.php.net/bug.php?id=72364,但文件仍然沒有修正。