Всем привет.
Есть такая ситуация: Есть удалённая папка с большим кол-во файлов (>25.000). Папка подключена к серверу с апачем средствами VPN. По этой папке проводиться поиск файлов по маске, НО он занимает примерно по 10-15 секунд.
Как можно оптимизировать этот процесс?
PHP:
скопировать код в буфер обмена
function QuickSearch($PatchDir, $InputString, $MaxCount = 20) { if($InputString == '') return 0; { $OutputString = ''; $count = 0; while(($file = readdir($dir)) !== false) { if($count == $MaxCount) break; if(fnmatch($InputString . "*", $file)) { $count++; $OutputString .= "<span style=\"cursor:pointer; color:#0000BB;\" onClick=\"getElementById('search_form').value = '" . $file . "';\"><b>" . $file . "</b></span><br>\n"; } } if($count == 0) { $OutputString = "<b>Ничего не найдено</b>"; } } else { $OutputString = "<b>Ошибка открытия директории</b>"; } return $OutputString; }
Вариант с кэшированием невозможен.
|