搜索文件夹中的文件

RKh*_*RKh 2 php

我的网站上有一个搜索框.如果学生输入了一些文本,则脚本必须在文件夹中搜索具有该类型名称的文件.

如何阅读文件夹和搜索文件?

mem*_*oxy 6

根据您的操作系统和文件夹中文件的大小,您可以采用几种不同的方式.最简单的方法是使用glob():

$safer = escapeshellarg( $_REQUEST['search'] );
$results = glob( "$dir/*$safer*" );
Run Code Online (Sandbox Code Playgroud)

这应该给你与该目录中的"ls*something*"相同的结果.

如果你有一个更具体的搜索模式和目录中适度的文件大小,scandir()会给你一个你可以使用preg_match()的数组.

如果您有大量文件,可以考虑利用/ usr/bin/locate或/ usr/bin/find.来自php的这些shell执行会导致系统负载.如果您有大量学生或面向公众的搜索,那么您将需要采用不同的方法.