不會全文件夾掃描。非常快,毫秒級!
可以使用PHP內置的 DirectoryIterator 來實現快速獲取指定文件夾裏面第一個txt文件的需求。
具體實現方法如下:
$dir = '/path/to/dir'; // 指定的文件夾路徑
$iterator = new DirectoryIterator($dir); // 獲取目錄迭代器
foreach ($iterator as $fileinfo) { // 遍歷目錄
if (!$fileinfo->isDir() && $fileinfo->getExtension() === 'txt') { // 判斷是否是txt文件
$txtfile = $fileinfo->getRealPath(); // 獲取文件的絕對路徑
break; // 找到第一個txt文件即退出循環
}
}上述代碼中,我們首先創建了一個 DirectoryIterator 對象,然後通過 foreach 循環遍歷該目錄下的所有文件和子目錄。在遍歷過程中,我們判斷當前文件是否是 txt 文件,如果是,則獲取該文件的絕對路徑並保存到 $txtfile 變量中,最後使用 break 語句退出循環。由於 DirectoryIterator 只會返回目錄中的文件名,而不會打開文件,因此效率比較高。
需要注意的是,上述代碼只會獲取該目錄下第一個 txt 文件,如果需要獲取所有 txt 文件,則需要將 $txtfile 變量改爲數組,遍歷完目錄後再返回該數組。