Foros del Web » Programando para Internet » PHP »

Buscador de archivos

Estas en el tema de Buscador de archivos en el foro de PHP en Foros del Web. Saludos, tengo el siguiente codigo en mi web: Código PHP: $handle  =  opendir ( "." ); $count  =  0 ; while (( $file  =  readdir ( ...
  #1 (permalink)  
Antiguo 18/11/2003, 11:36
 
Fecha de Ingreso: noviembre-2002
Ubicación: http://localhost/
Mensajes: 195
Antigüedad: 15 años
Puntos: 1
Buscador de archivos

Saludos, tengo el siguiente codigo en mi web:

Código PHP:
$handle opendir(".");
$count 0;
while ((
$file readdir($handle)) != false){
$count++;
echo 
"$file<br>";

eso es para que me imprima los archivos que tengo en una carpeta, ahora bien, lo que quiero es si alguien sabe de algun buscador que me permita buscar en esa misma carpeta o alguien sabe como lo puedo hacer?

gracias, he usado varios, pero son muy complicados de configurar :S y tengo algunos que son para buscar en mysql (la base de datos) y no quiero eso, quiero un buscador para buscar archivos...

Algun consejo??? gracias :)
  #2 (permalink)  
Antiguo 18/11/2003, 12:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tu variable $file es el nombre del archivo que vas "scaneando" de tu directorio .. así que si lo usas bajo un condicional IF simple .. ya tienes tu buscador..

Código PHP:
if ($file==$buscar){
 echo 
"se encontró $file";

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/11/2003, 15:32
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Primero, tienes que cambiar la condicion de tu bucle. Tal como lo tienes ahora, si un fichero se llama 0, parara el bucle, porque para PHP 0==false. Pero usando el operador !== (igual y del mismo tipo) se soluciona.

Y segundo, si quieres buscar en el contenido de los ficheros, no te quedara mas remedio que ir abriendo cada fichero con fopen() o con file() y leer su contenido, para a continuacion buscar en ese contenido.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 18/11/2003, 15:56
 
Fecha de Ingreso: noviembre-2002
Ubicación: http://localhost/
Mensajes: 195
Antigüedad: 15 años
Puntos: 1
wow, por lo visto no es muy facil que digamos(o yo soy bruto?) ya que lo que dijo cluster, lo he intentado varias veces pero el problema es que asi no abre las subcarpetas (por tanto no buscaria en subcarpetas) y asi no buscaria palabras, sino nombres, (no se si meentienden) ejemplo si pongo "index musica" a buscar, dira que no encuentra nada, y yo quiero que muestre las partes donde aparece index y donde aparece musica, entienden? pero gracias a todos por sus ayudas! :D yo estoy viendo como lo hago :$ algun otro consejo por favor?

gracias
__________________
http://www.ingenierosinc.com
  #5 (permalink)  
Antiguo 18/11/2003, 16:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Para el tema de subcarpetas, existe la funcion is_dir() (www.php.net/is_dir). Segun vas recorriendo un directorio, almacenas en un array los subdirectorios. Cuando acabas con ese directorio, comienzas con sus subdirectorios. Acuerdate de meter en el array la ruta completa del subdirectorio.


Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 18/11/2003, 16:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Hombre .. para eso te hace falta una busqueda "recursiva" .. que si encuentra un directorio .. se meta en el a leer los archivos que tienes.

Ademas .. debes aclarar si piensas Buscar algo en los archivos que tienes en tu directorio o sólo vas a buscar los nombres (bajo esas coincidencias) que tienes en ese directorio ..

Fijate en la documentación oficial de PHP .. en los comentarios de los usuarios tienes ejemplos de funciones para listar de forma recursiva directorios (con sus sub-directorios) ..
http://cl.php.net/dir


El tema concreto que te encuentre el archivo de nombre que contenga "index y musica" (por poner un ejemplo) ya es cosa de que uses funciones de tratamiento de cadenas .. por qué al fin y al cabo . .tu "nombre de archivo .tal" es una cadena (string) .. así que puedes usar funciones como substr() o incluso expresiones regulares.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:00.