1
我有以下行的一個問題:RecursiveDirectoryIterator構造函數返回空對象
$iterator = new RecursiveDirectoryIterator($directory);
此代碼返回一個空的對象,即使$目錄文件夾中包含至少一個文件。我也加倍檢查了$目錄的值,這是正確的路徑
有什麼問題?
我有以下行的一個問題:RecursiveDirectoryIterator構造函數返回空對象
$iterator = new RecursiveDirectoryIterator($directory);
此代碼返回一個空的對象,即使$目錄文件夾中包含至少一個文件。我也加倍檢查了$目錄的值,這是正確的路徑
有什麼問題?
試試這個,
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path),
RecursiveIteratorIterator::SELF_FIRST
);
它應該讓你一個文件列表或拋出異常。
嘗試使用foreach,因爲即使對象不爲空,print_f也會輸出空對象。 你可以這樣查看:
foreach ($iterator as $name => $file) {
echo $file->getRealPath().'<br>';
}
感謝您的回答。 我試過代碼,並在那之後放了一個print_f,我得到的全部是RecursiveIteratorIterator對象() – Zack
整個代碼是: $ iterator = new RecursiveDirectoryIterator($ directory); $ iterator-> setFlags(RecursiveDirectoryIterator :: SKIP_DOTS); $ filter = new MyRecursiveFilterIterator($ iterator); $ all_files = new RecursiveIteratorIterator($ filter,RecursiveIteratorIterator :: SELF_FIRST); 它顯示此錯誤:致命錯誤:調用未定義的方法RecursiveDirectoryIterator :: setFlags() – Zack
不用擔心,對不起,我是不對的。 – dops