如 https://bugs.php.net/bug.php?id=55701 所述,count() 方法可能會導致錯誤。
例如,如果在目標目錄中找不到任何檔案,則以下程式碼將無法正常運作:
<?php
$iterator = new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME);
if($iterator->count()) {
foreach($iterator as $filePath) {
// 做一些事情 ...
}
}
?>
此錯誤的解決方法如下:
<?php
foreach(new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME) as $filePath) {
// 做一些事情 ...
}
?>