What are the potential drawbacks of listing and filtering through all files in PHP for a search function?

One potential drawback of listing and filtering through all files in PHP for a search function is that it can be resource-intensive, especially if there are a large number of files to search through. To solve this issue, you can use a more efficient method such as indexing the files or implementing a database search instead.

// Example of using indexing or database search for a more efficient search function

// Indexing files
$files = glob('path/to/files/*');
$index = [];

foreach ($files as $file) {
    $content = file_get_contents($file);
    $index[$file] = $content;
}

// Implementing database search
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');

$searchTerm = 'keyword';
$stmt = $pdo->prepare("SELECT * FROM files WHERE content LIKE :searchTerm");
$stmt->execute(['searchTerm' => "%$searchTerm%"]);
$results = $stmt->fetchAll();

foreach ($results as $result) {
    echo $result['filename'] . "<br>";
}