Tecnología

Inicio

Cómo hacer un motor de búsqueda de dominios Con PHP

Cómo hacer un motor de búsqueda de dominios Con PHP


PHP es un poderoso lenguaje de script que más a menudo utilizado por los desarrolladores web para crear páginas dinámicas y aplicaciones Web. La gama de funcionalidad que PHP proporciona a un programador es virtualmente sin fin, ser capaz de crear datos para enviar a un usuario, así como la manipulación de archivos y entradas de la base en la parte final. Debido a esto, PHP es una excelente opción de idioma, si usted necesita para construir un motor de búsqueda para su sitio web.

Instrucciones

1 Crear formulario web del motor de búsqueda. En este ejemplo, el archivo del script PHP se llamará "search.php." Su forma necesitará una caja de entrada de texto y un botón de "Enviar".

<Form action = método search.php = get>

<Input name = tecla> <input type = submit = valor de la búsqueda>

</ Form>

2 Crear una función para buscar archivos y directorios del servidor. Haciendo una función permitirá búsquedas fáciles de subdirectorios. La función tendrá un parámetro requerido, que será la cadena de búsqueda.

<?

Función de búsqueda (palabra clave $) {

}

?>

3 Añadir un parámetro opcional para las rutas de subdirectorio. Si no se especifica este segundo parámetro, la función por defecto para buscar en el directorio actual.

Función de búsqueda (palabra clave $) {

if(func_num_args()>1) $dir = func_get_arg(1);

otra cosa $ dir = ".";

}

4 Leer los contenidos del directorio en una matriz. Agregue este código a la función de búsqueda ().

$ DirStream = opendir ($ dir);

while ($ nextfile = readdir ($ dirStream)) $ dirArray [] = $ nextfile;

closedir ($ dirStream);

5 Repetir el contenido de la matriz de directorios mediante un bucle foreach.

foreach ($ dirArray como $ thisFile) {

}

6 Crear una variable para almacenar la ruta relativa desde el script PHP para el archivo que se busca. Añadir este dentro del bucle foreach.

$ ThisPath = $ dir "/" $ thisFile..;

7 Añadir una línea para evitar que el motor de búsqueda que muestra los resultados de los archivos ocultos (como ".htaccess").

si (substr ($ thisFile, 0,1) == ".") continúan;

8 Compruebe si el nombre de archivo actual en $ dirArray es en realidad un subdirectorio, en cuyo caso será almacenada en una matriz para buscar a través de más adelante.

Si (tipo de archivo ($ thisPath) == "dir") {

$ SUBDIR [] = $ thisFile;

continuar;

}

9 Compruebe el contenido del archivo actual para ver si contiene la cadena de búsqueda almacenada en $ palabra clave, y si es así, mostrará un enlace al archivo. Su bucle foreach ahora debería tener este aspecto:

foreach ($ dirArray como $ thisFile) {

$ ThisPath = $ dir "/" $ thisFile..;

si (substr ($ thisFile, 0,1) == ".") continúan; // No buscar archivos ocultos, que comienzan con "".

Si (tipo de archivo ($ thisPath) == "dir") {

$ SUBDIR [] = $ thisPath; // Añadir a una matriz lista subdirectorios

continuar;

}

if (strpos (file_get_contents ($ thisPath), $ palabra clave) == false)

echo "<a href=\"".str_replace("./","",$thisPath)."\">" $ thisFile "</a> \ n"..;

}

10 Añadir una línea al final de la función de búsqueda () para iterar a través de la matriz $ SUBDIR y buscar todos los subdirectorios. Si no desea buscar subdirectorios, no añada esta línea.

foreach ($ SUBDIR como $ thisDir) búsqueda (palabra clave $, $ thisDir);

11 Agregar una línea final de PHP después de la función de búsqueda completa () para ver si el formulario de datos se ha presentado, y, de ser así, llame a la función de búsqueda (). Su código completo debe tener este aspecto:

<Form action = método search.php = get>

<Input name = tecla> <input type = submit = valor de la búsqueda>

</ Form>

<?

Función de búsqueda (palabra clave $) {

if (func_num_args ()> 1) $ dir = func_get_arg (1);

otra cosa $ dir = ".";

$ DirStream = opendir ($ dir);

while ($ nextfile = readdir ($ dirStream)) $ dirArray [] = $ nextfile;

closedir ($ dirStream);

foreach ($ dirArray como $ thisFile) {

$ ThisPath = $ dir "/" $ thisFile..;

si (substr ($ thisFile, 0,1) == ".") continúan;

Si (tipo de archivo ($ thisPath) == "dir") {

$ SUBDIR [] = $ thisPath;

continuar;

}

if (strpos (file_get_contents ($ thisPath), $ palabra clave) == false)

echo "<a href=\"".str_replace("./","",$thisPath)."\">" $ thisFile "</a> \ n"..;

}

foreach ($ SUBDIR como $ thisDir) búsqueda (palabra clave $, $ thisDir);

}

if (isset ($ _ GET [ 'clave']) && $ _GET [ "llave"] = ""!) búsqueda ($ _ GET [ 'clave']);

?>

Consejos y advertencias

  • Usted puede agregar fácilmente características adicionales a su motor de búsqueda, tales como búsquedas condicionales y resultados clasificados, al hacer cambios menores a la función de búsqueda () o llamando varias veces.
  • El ejemplo es poco más que un script PHP desnudo. Asegúrese de añadir todas las etiquetas HTML necesarias (tales como "<tipo de documento>" y "<body>") para que la secuencia de comandos compatible con los estándares.