Pues una busqueda así va consumir mucho tiempo de ejecución de tu script que haga ese proceso .. Lo ideal es "indexar" tus archivos.
Indexar es básicamente abrir tus archivos y localizar las palabras clave mas usadas junto con asociarlo al archivo donde estén ...
Hay sistemas de ese tipo ya hechos en:
http://www.hotscripts.com/PHP/Script...earch_Engines/
Por si quieres ir viendo cosas por tu cuenta .. Te recomiendo que leas el manual de php oficial en su capítulo de funciones para menejar directorios y archivos:
http://www.php.net/manual/en/ref.filesystem.php
Hay tienes ejemplos completos para ir leyendo los archivos de un de un directorio .. Y también tienes la función file() (junto con implode() ) para leer un archivo hacia un string (cadena) para que posteriormente puedas aplicar alguna función de busqueda de algún patrón sobre una cadena: desde substr(), str_pos() .. etc .. hasta Expresiones regulares ...
Un saludo,