Foros del Web » Programando para Internet » PHP »

subir todas las img a la bbdd

Estas en el tema de subir todas las img a la bbdd en el foro de PHP en Foros del Web. Buenas. Tengo una carpeta llena de imágenes y las quiero meter todas en la bbdd. Estoy haciendo una importación por lo que esto debe ser ...
  #1 (permalink)  
Antiguo 17/08/2012, 05:55
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 1
subir todas las img a la bbdd

Buenas.

Tengo una carpeta llena de imágenes y las quiero meter todas en la bbdd. Estoy haciendo una importación por lo que esto debe ser así.

El caso que recupero las url de las imágenes que equivalen al producto (cada producto con su imagen), pero claro, recupero la url simplemente, necesito el archivo imagen en sí.

Entonces vi la función imagecreatefromjpeg. La utilizo y el resultado de la primera imagen es: Resource id #78, yo esperaba algo tipo, size, tamanio, tmp, etc etc.

La img la recupero con la función misma de la página de PHP.

Código PHP:
    function cargarJpeg($imagen){
        
/* Intentar abrir */
        
$imagenObtenida "/home/david/Escritorio/imagenes/$imagen";
        
//$im = @imagecreatefromjpeg($imagenObtenida);

        /* Ver si falló */
        
if(!$im)
        {

            
/* Crear una imagen en blanco */
            
$im  imagecreatetruecolor(15030);
            
$fondo imagecolorallocate($im255255255);
            
$ct  imagecolorallocate($im000);
    
            
imagefilledrectangle($im0015030$fondo);
    
            
/* Imprimir un mensaje de error */
            
imagestring($im155'Error cargando ' $imagen$ct);
        }else{
            
$this->log('Todo bien en cargarJpeg');
        }
    
        return 
$im;
    } 
  #2 (permalink)  
Antiguo 17/08/2012, 17:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: subir todas las img a la bbdd

$im no es una imagen sino un recurso de imagen, es decir, una especie de apuntador a la memoria de PHP donde se está trabajando la imagen temporal y requieres alguna otra función para verificar, manipular o enviar a una salida (pantalla o disco), no para guardar en base de datos.

Para leer el archivo (binario) y guardarlo en un campo binario de tu tabla, necesitarás algo como fopen() y funciones relacionadas.

Ya consideraste que guardar imágenes directamente en base de datos complicará tu código y posiblemente sobrecargará el servidor?

Ahora para mostrar una imagen simplemente incluyes una etiqueta <img /> con la ruta de la imagen y listo, pero, si las guardas en base de datos, para cada imagen tendrás algo así:

<img src="script_para_ver_imagen.php?imagen=id_de_image n" />

Este script tomará la id de imagen, leerá la base de datos y la mostrará... una vez por cada imagen que tengas en cada página.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 20/08/2012, 02:42
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: subir todas las img a la bbdd

Buenas y gracias por contestar.

intento abrir imagen y sigo con el Resource...lo intentó así:

fopen("/home/david/Escritorio/imagenes/$imagenes[$i]",'r');

Lo de guardar las imagenes yo también lo he creído así siempre, pero en este proyecto se está guardando en la bbdd, si me dan una explicación te lo diré.
  #4 (permalink)  
Antiguo 20/08/2012, 13:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: subir todas las img a la bbdd

A ver, davidcm86, te dejé un enlace al manual de la función fopen() (http://www.php.net/manual/en/function.fopen.php) donde se especifica claramente la forma de uso y hay ejemplos que pueden servirte en lo que quieres hacer, por favor lee el manual y, si tienes algún problema, regresa con el código que estás usando, no sólo una línea.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: bbdd, img, todas
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 23:20.