Foros del Web » Programando para Internet » PHP »

consultar archivos con coincidencia.

Estas en el tema de consultar archivos con coincidencia. en el foro de PHP en Foros del Web. Hola amigos. veran, en una carpeta llama imagenes cargo imagenes previamente. Estas imagenes al cargarlas, obtienen el nombre del usuario que las ha cargado + ...
  #1 (permalink)  
Antiguo 13/01/2011, 16:49
Avatar de Kurozaki  
Fecha de Ingreso: diciembre-2010
Ubicación: Con mi Zanpakutou (Colima, MEX).
Mensajes: 175
Antigüedad: 13 años, 4 meses
Puntos: 9
consultar archivos con coincidencia.

Hola amigos.
veran, en una carpeta llama imagenes cargo imagenes previamente.

Estas imagenes al cargarlas, obtienen el nombre del usuario que las ha cargado + el nombre de la imagen.

Ejemplo. Yo kurozaki he cargado 4 imagenes:
-imagen1.jpg
-los_xv.jpg
-de_cotorreo_en_la_playa.jpg
-img098d0a.jpg

Estas obtuvieron el nombre de:
-Kurozaki-imagen1.jpg
-Kurozaki-los_xv.jpg
-Kurozaki-de_cotorreo_en_la_playa.jpg
-Kurozaki-img098d0a.jpg

Y lo que quiero lograr, es hacer una consulta de todas las imagenes que inicien con kurozaki.

Tambien acepto sugerencias para lograr consultas todas las imagenes de dicho usuario.

ya que si hay otro usuario que se llame kurozaki9 entonces la coincidencia de consulta enrredaria a las imagenes de estos dos usuarios.

_______________
P.D: tambien pensé en que los links de estas imagenes guardarlas en la base de datos (Solo los links) y luego hacer la consulta más espefica con el nombre de dicho usuario.

Pero como logro aguardar los links :(

Me ayudan
  #2 (permalink)  
Antiguo 13/01/2011, 17:57
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: consultar archivos con coincidencia.

Bueno es facil realmente como le haria yo..


para empezar leemos los nombres de los archivos que contenga la carpeta:


//definimos el path de acceso
$path="images/";

//instanciamos el objeto
$dir=dir($path);


Ahora imaginemos que mandamos de un formulario el nombre del usuario a buscar:


$busqueda = $_POST["usuario"];

Ahora empezamos a recorrer:


//Mostramos las informaciones
while ($elemento = $dir->read()) {
//Omitimos carpetas . y .. y archivo Thumbs.db
if ( ($elemento != '.') and ($elemento != '..') and ($elemento != 'Thumbs.db'))
{
$usuario = split("-", $elemento);
if($usuario[0] == $busqueda){
echo $elemento."<hr>";
}

}
}
//Cerramos el directorio
$dir->close();




Asi de facil mi estimado obtendras los nombres de las imagenes que pertenecen al usuario a buscar:

Te dejo todo el codigo puesto



Código PHP:
Ver original
  1. //definimos el path de acceso
  2. $path="imxx/";
  3.  
  4. //instanciamos el objeto
  5. $dir=dir($path);
  6.  
  7. $busqueda = $_POST["usuario"];
  8.  
  9. //Mostramos las informaciones
  10. while ($elemento = $dir->read()) {
  11.     //Omitimos carpetas . y .. y archivo Thumbs.db
  12.     if ( ($elemento != '.') and ($elemento != '..') and ($elemento != 'Thumbs.db'))
  13.     {    
  14.         $usuario = split("-", $elemento);
  15.         if($usuario[0] == $busqueda){
  16.             echo $elemento."<hr>";
  17.         }
  18.    
  19.     }
  20. }
  21. //Cerramos el directorio
  22. $dir->close();






Saludos........
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 13/01/2011, 21:27
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: consultar archivos con coincidencia.

Puedes hacer los siguiente, no se como cargas las imagenes ya que soy "nuevo en php- no llevo ni un año, " pero se me ocurre que sencillamente con una consulta..

cuando el usuario monte una imagen, se guarde en la base de datos, en la tabla suponte que se llame imagenes, los datos:

nombre_user nombre_imagen

y haces una consulta al estilo:

select * from imagenes where nombre_user="$nombre";
Luego imprimes los valores de los nombres de las imagenes.. y haces lo que quieras con ellos..
donde "$nombre" es el nombre del usuario al que quieras que haga referencia, puedes recoger el $nombre de un post O de una variable de seccion. (En el caso de que el usuario quiera buscar su propia imagen)

espero tu respuesta.. Y poder seguir ayudándote; si alguna ves has usado check en un formulario en php quisiera que me enseñaras.. =)
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #4 (permalink)  
Antiguo 14/01/2011, 10:30
Avatar de Kurozaki  
Fecha de Ingreso: diciembre-2010
Ubicación: Con mi Zanpakutou (Colima, MEX).
Mensajes: 175
Antigüedad: 13 años, 4 meses
Puntos: 9
Respuesta: consultar archivos con coincidencia.

Cita:
select * from imagenes where nombre_user="$nombre";
Exactamente, esto es lo que ya tenia en mente.
Pero no quiero guardar las imagenes en la BD, por que se harian más lentas las consultas y mas pesada mi BD.

Quiero guardarlas en el Host.
Y una ves que la suba, genere una URL para ir directamente a dicha imagen.
Y dicha url, la guardo en la BD, seria más complejo en mi opinion.

Pero me ha caido la duda de: Como consultar solo 3 de todas las imagenes que el usuario a subido.

Quiero que solo consulte 3, al azar, para despues mostralas.

Gracias por la respuestas a ambos. (Ahorita checo tu codigo Potro), Gracias
  #5 (permalink)  
Antiguo 14/01/2011, 12:55
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: consultar archivos con coincidencia.

Pues usa un top 3 ...

Ejemplo sql server..

Código SQL:
Ver original
  1. SELECT top 3 WITH ties * FROM tabla ORDER BY newid()

Ejemplo MySql...

Código MySQL:
Ver original
  1. SELECT * FROM blogroll ORDER BY rand() LIMIT 3

Bueno con respecta de guardas los nombres de los archivos en la base pues facil, cuando renombras tu la imagen inserta solo el nombre del archivo en el registro y asi no aumentara el peso de tus consultas...


Saludos...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/

Última edición por Potro; 14/01/2011 a las 13:02

Etiquetas: consultar
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 16:17.