Foros del Web » Programando para Internet » PHP »

Upload de imágenes: ¿todas en un solo directorio?

Estas en el tema de Upload de imágenes: ¿todas en un solo directorio? en el foro de PHP en Foros del Web. Tengo sitios donde permito el upload de imágenes; y lo más secillo sería guardarlas todas en un mismo directorio. ¿Pero cuando hablamos de más de ...
  #1 (permalink)  
Antiguo 05/10/2007, 22:01
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años
Puntos: 15
Mensaje Upload de imágenes: ¿todas en un solo directorio?

Tengo sitios donde permito el upload de imágenes; y lo más secillo sería guardarlas todas en un mismo directorio. ¿Pero cuando hablamos de más de 100.000 imágenes? En algunos grandes sitios he visto lo siguiente y es como lo hago actualmente

[....]
/imagenes/10000/10392.jpg
/imagenes/10000/10393.jpg
[....]
/imagenes/53000/53142.jpg
[....]

¿Es más óptimo guardarlas en directorios separados cada 1.000 imágenes por ejemplo? ¿o es lo mismo tener un directorio con 1.000 archivos que con 100.000 para buscarlos?

Espero haberme explicado y desde ya muchas gracias.
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
  #2 (permalink)  
Antiguo 05/10/2007, 23:08
 
Fecha de Ingreso: agosto-2007
Ubicación: Barcelona
Mensajes: 58
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Upload de imágenes: ¿todas en un solo directorio?

Crear subdirectorios te ayudará a tenerlo más organizado... pude ser de varias formas /2007/ /2008/ /flores/ /animales/ o cualquier otra...
  #3 (permalink)  
Antiguo 06/10/2007, 05:55
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Re: Upload de imágenes: ¿todas en un solo directorio?

yo lo haria por años y luego por meses, es decir

../imagenes/2007/01
../imagenes/2007/02
../imagenes/2007/03
.
.
.
../imagenes/2007/12
../imagenes/2008/01
../imagenes/2008/02
../imagenes/2008/03
.
.
.
../imagenes/2008/12
.
.
.

Seria lo mas comodo
  #4 (permalink)  
Antiguo 06/10/2007, 11:11
 
Fecha de Ingreso: julio-2006
Mensajes: 96
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Upload de imágenes: ¿todas en un solo directorio?

Hola , tambien lo que puedes hacer si pretendes realizar un servicio web estilo imageshack o similares es crear un numero o cadena aleatoria como nombre de la carpeta donde luego tu subes el fichero que el usuario pretende guardar.

ejemplo de creacion aleatoria de ficheros:

Código PHP:
<?php
$aleatorio
=rand();
if(
is_dir_exists($aleatorio)){
}else{
mkdir($aleatorio);
chmod($aleatorio,0777);
move_uploaded_file($aleatorio,$fichero);
}
Saludos
  #5 (permalink)  
Antiguo 06/10/2007, 11:57
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años
Puntos: 15
Re: Upload de imágenes: ¿todas en un solo directorio?

Disculpen, parece que me he expresado mal. Muchas gracias por sus respuestas, pero la pregunta es referida al rendimiento del servidor.

Si meto 100.000 imágenes en un mismo directorio, cuando llamamos a esta imagen ¿el servidor demora más en encontrarla si en el directorio hay solamente 100, por ejemplo?

Saludos...
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
  #6 (permalink)  
Antiguo 06/10/2007, 12:13
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Re: Upload de imágenes: ¿todas en un solo directorio?

Cita:
Iniciado por reyesoft Ver Mensaje
Disculpen, parece que me he expresado mal. Muchas gracias por sus respuestas, pero la pregunta es referida al rendimiento del servidor.

Si meto 100.000 imágenes en un mismo directorio, cuando llamamos a esta imagen ¿el servidor demora más en encontrarla si en el directorio hay solamente 100, por ejemplo?

Saludos...
si esa es la preocupacion, pues si, se demorara un poco, aunque tambien depende del servidor claro, pero mejor no poner tal cantidad de imagenes en un mismo directorio.

Saludos!
  #7 (permalink)  
Antiguo 06/10/2007, 18:53
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Re: Upload de imágenes: ¿todas en un solo directorio?

Xo alguien tiene datos concretos para esa afirmacion? Pork si hablamos de "demorar un poco", cuanto es ese poco como para k se haga necesario la particion del directorio de fotos en varias carpetas? o por el contrario todo ese trabajo no compensa por ser tan solo una pekeña demora? Salu2!
  #8 (permalink)  
Antiguo 06/10/2007, 19:11
 
Fecha de Ingreso: noviembre-2005
Ubicación: Torreon Coahuila
Mensajes: 100
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: Upload de imágenes: ¿todas en un solo directorio?

estaba viendo el script que pusieron

Código PHP:
$aleatorio=rand(); 
if(
is_dir_exists($aleatorio)){ 
}else{ 
mkdir($aleatorio); 
chmod($aleatorio,0777); 
move_uploaded_file($aleatorio,$fichero); 

Como se podria hacer para que se cree automatikamente las carpeta segun en el mes que estemos por ejemplo si estoy a 1 de noviembre que me cree
2007/11

Si estoy 1 de diciembre

2007/12


Como seria posible?
  #9 (permalink)  
Antiguo 06/10/2007, 19:13
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Re: Upload de imágenes: ¿todas en un solo directorio?

pues muy facil, con la funcion date de php sacas el año mes y dia en el k estamos, y luego ese resultado lo usas como nombre de la carpeta a crear
  #10 (permalink)  
Antiguo 07/10/2007, 04:28
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Re: Upload de imágenes: ¿todas en un solo directorio?

Cita:
Iniciado por SubZero_mb Ver Mensaje
Xo alguien tiene datos concretos para esa afirmacion? Pork si hablamos de "demorar un poco", cuanto es ese poco como para k se haga necesario la particion del directorio de fotos en varias carpetas? o por el contrario todo ese trabajo no compensa por ser tan solo una pekeña demora? Salu2!
Entiendo tu preocupación, y aunque no tengo datos concretos, te comentaré mi experiencia.
Hace unos meses, tenia en un directorio miles de imágenes (wallpapers) que descargué de diferentes webs usando wget (ahora no recuerdo la linea exacta, pero me bajé cerca de 30.000 wallpapers en una noche :p)
El caso, es que las dejé todas en un mismo directorio, y al hacer un 'ls -l -a' en completar el listado tardó varios segundos, no podria decirte con exactitud, pero podrian ser 5 ó 6 segundos, en una maquina con 1gb de ram y una cpu amd athlon 2400+ y hd sata. En cambio, cuando reorganice todo eso, en subcarpetas en las que ponia como maximo 1000 ficheros, un simple 'ls -l -a' era instantaneo, con lo cual, era una demora, considerable, a tener en cuenta, y que escribir un codigo optimo, no te llevara mas de 10 minutos. Creo que vale la pena.

Un saludo, y siento no ser mas conciso ni especifico con los datos aportados.
  #11 (permalink)  
Antiguo 11/10/2007, 06:00
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años
Puntos: 15
Re: Upload de imágenes: ¿todas en un solo directorio?

Cita:
Iniciado por DooBie Ver Mensaje
El caso, es que las dejé todas en un mismo directorio, y al hacer un 'ls -l -a' en completar el listado tardó varios segundos, no podria decirte con exactitud, pero podrian ser 5 ó 6 segundos, en una maquina con 1gb de ram y una cpu amd athlon 2400+ y hd sata. En cambio, cuando reorganice todo eso, en subcarpetas en las que ponia como maximo 1000 ficheros, un simple 'ls -l -a' era instantaneo, con lo cual, era una demora, considerable, a tener en cuenta, y que escribir un codigo optimo, no te llevara mas de 10 minutos. Creo que vale la pena.
Si estamos hablando de un servidor, al que manejas por consola, no es una justificación, porque la demora se debe a la demora que hay en enviarte la lista de archivos a tu PC y no porque demore el proceso "ls" al haber más archivos.

Si es que tengo razón, igual es un buen intento, seguiremos investigando.
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
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 22:07.