В зависимости от вашей ОС и количества файлов в папке, вы можете сделать это несколькими различными способами. Самый простой способ - использовать glob ():
$safer = escapeshellarg( $_REQUEST['search'] );
$results = glob( "$dir/*$safer*" );
Это должно дать вам те же результаты, что и "ls * что-то *" в этом каталоге.
Если вы имеете в виду более конкретный шаблон поиска и скромное количество файлов в каталоге, scandir () предоставит вам массив, для которого вы можете использовать preg_match ().
Если у вас огромное количество файлов, вы можете использовать / usr / bin / locate или / usr / bin / find. Эти виды выполнения оболочки из php вызывают нагрузку на систему. Если у вас большое количество студентов или открытые поиски, вы можете использовать другой подход.