2
A
回答
6
根據您的操作系統和文件夾中文件的大小,您可以通過幾種不同的方式進行操作。最簡單的方法是使用水珠():
$safer = escapeshellarg($_REQUEST['search']);
$results = glob("$dir/*$safer*");
這應該給你同樣的結果在該目錄中的「ls * *的東西」。
如果你有一個更具體的搜索模式和目錄中的文件數量適中,scandir()會給你一個數組,你可以使用preg_match()。
如果您擁有大量文件,那麼可以考慮利用/ usr/bin/locate或/ usr/bin/find。這些類型的php執行會導致系統負載。如果你有大量的學生或面向公衆的搜索,那麼你會想要採取不同的方法。
2
閱讀PHP手冊上的glob() entry。
0
您可以使用scandir函數,它可以返回一個排序列表,然後您可以使用搜索數組的相同方式進行搜索。然後,您還可以使用Levenshtein Distance Algorithm的實現來提供「您的意思是?」從你的應用程序風格響應。
0
MySql?你從來沒有連接到MySql或數據庫。加上glob的位置(「c:/ windows/$更安全」)在服務器上不存在。
如果你想用glob搜索,你需要使用ifs,elseifs和elses。
<?php
if(isset($_GET['s']) and $_GET['s'] != '') {
$dir = 'dir/sub-dir';
$ext = '.htm';
$search = $_GET['s'];
$results = glob("$dir/*$search*$ext");
if(count($results) != 1) {
foreach($results as $item) {
echo "<li><a href='$item'>$item</a></li>\r\n";
}
}
if(count($results) == 1) {
$item = $results[0];
echo "<li color='blue'><a href='$item'>$item - only result</a></li>\r\n";
}
if(count($results) == 0) {
echo "<li>no results to display</li>\r\n";
}
}
else {
?>
<form action=''>
<input name='s'>
<input type='submit'>
</form>
<?php
}
?>
相關問題
- 1. 搜索文件夾中的文件
- 2. 搜索主文件夾和子文件夾中的.mp3文件
- 3. Py在文件夾和子文件夾中搜索文件
- 4. 文件夾中的Vim搜索文本
- 5. 的FilenameFilter,搜索文件夾
- 6. 文件夾中的Java搜索索引
- 7. 排除搜索文件夾和文件
- 8. 搜索文件夾並獲取文件
- 9. 搜索文件夾和文件
- 10. 批處理文件搜索文件夾中的文件
- 11. 如何搜索c#文件夾中的文件夾?
- 12. 文件夾搜索算法
- 13. Lucene.net文件夾搜索
- 14. 搜索壓縮文件夾
- 15. C++文件夾僅搜索
- 16. 在Outlook文件夾中搜索文件夾
- 17. 的Outlook搜索文件夾條件
- 18. iOS:搜索cashes文件夾和每個子文件夾中的視頻文件
- 19. 搜索文件夾中的文件並把它放在另一個文件夾
- 20. 在Delphi中隱藏文件夾中搜索文件夾和特定文件
- 21. 如何創建搜索文件夾中的文件的搜索表單?
- 22. 「appdata」文件夾內的搜索文件夾
- 23. 搜索文件夾內的文件夾(Excel-VBA)
- 24. 搜索由指定的文件夾/子文件夾
- 25. 從無文件夾的文件夾搜索框
- 26. 搜索特定的文件夾不限於該文件夾
- 27. 在共享文件夾中的XML文件中快速搜索
- 28. 用搜索文件夾中的grep搜索創建一個文件
- 29. 通過搜索文件夾在大文件中查找文本
- 30. 在多個文件夾中搜索文本文件