0
的最有效的方法我目前在PHP這樣的代碼:寫DirectoryIterator爲PHP
// RETURN FILE NAMES FROM VAULT INTO ARRAYS
$vault_folder = "\\\\namespace\\namespace\\folder\\folder\\folder\\folder\\";
foreach (new DirectoryIterator($vault_folder) as $fileInfo) {
if (strtolower(pathinfo($fileInfo, PATHINFO_EXTENSION)) == "pdf") {
if($fileInfo->isDot() || !$fileInfo->isFile()) continue;
$files[] = $fileInfo->getFilename();
};
}
arsort($files);
我想知道的是,如果這是寫這個語句的最有效方式。
目前它正在搜索網絡位置'$vault_folder
並將所有文件名存儲到數組$files
。
該文件夾包含多個文件,我只希望它保存PDF文件的$files
陣中,因此:
if (strtolower(pathinfo($fileInfo, PATHINFO_EXTENSION)) == "pdf")
strtolower
被列爲誰爲我們節省了創建一些PDF的公司之一文件爲.PDF
,而不是.pdf
。它還需要在代碼中稍後鏈接迴文件,因此它需要存儲在正確的大小寫中。
返回7k文件需要7秒鐘,給或取!
glob似乎是一個很好的測試函數。但是,上述聲明將不包括.PDF和.pdf文件,它只會將.pdf文件添加到$ files數組中 – bepster
已更新答案以支持* .pdf *和* .PDF *(假設您不需要像* .Pdf *或* .pDf *)。 – ShiraNai7
GLOB似乎返回結果慢我的查詢平均16secs和GLOB平均23secs,我要建立我的文件名到一個SQL表,並以這種方式鏈接,因爲這將更有效 – bepster