Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2010, 18:24
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 6 meses
Puntos: 3
Upload para varias imagenes en php

Saludos de nuevo comunidad, bueno ahora vengo con uno de esos problemas o dificultades de un recien estudiante de php y sus curiosidades.

tengo un formulario para subir imagenes, pero el problema que este formulario el cual conectado al script me sube una imagen.

El problema es que yo deseo hacer algo asi

Nombre, Email, Img1, Img2, ..., Img10.

Y esto guardarlo en mi base de datos, ya tengo casi todo exepto que este script solo me permite subir una imagen a la vez.

Lo que deseo y espero puedan ayudarme es como convertir este script para que pueda subir mas archivos en este caso 10.

Ahora no pondre el que se conecta a la base de datos por que no es necesario.

form.html
Código HTML:
Ver original
  1. <form action="upload.php" name="upload" enctype="multipart/form-data" method="post">
  2.     <label for="imagen">Imagen:</label>
  3.     <input id="archivo" name="archivo" size="30" type="file" />
  4.  
  5.     <input name="submit" type="submit" value="Guardar" />
  6. </form>


upload.php
Código PHP:
<?php
class upload_imagen
{
    
function 
thumbnail()
{

        
$tamano $_FILES["archivo"]['size'];
        
$tipo $_FILES["archivo"]['type'];
        
$archivo_original $_FILES["archivo"]['name'];
        
$prefijo substr(md5(uniqid(rand())),0,6);
        
        if (
$tipo == "image/jpeg" || $tipo == "image/jpg" || $tipo == "image/png" || $tipo == "image/gif"
        {
            
$destino "fotos/".$prefijo."_".$archivo_original;
            
copy($_FILES['archivo']['tmp_name'],$destino);
            
                
$tamano_m 100;
                
$destino_mn "fotos/thumb/thumb_";
                
$imgv explode('/'$destino);
                
$sup $imgv[0]."//".$imgv[2];
                
$resultado array_pop($imgv);
                
$ext explode('.'$destino);
                
                list (
$ancho$alto) = getimagesize($destino);                    
                    
                    if (
$ancho>$alto) {
                        
$new_alto $tamano_m;
                        
$new_ancho = ($ancho/$alto)*$new_alto;
                        
$x = ($ancho-$alto)/2;
                        
$y 0;
                        
                        
$origen imagecreatefromjpeg($destino);
                        
$temp imagecreatetruecolor($tamano_m$tamano_m);
                        
imagecopyresampled($temp$origen00$x$y$new_ancho$new_alto$ancho$alto);
                        
imagejpeg($temp$destino_mn.$resultado90);
                        
imagedestroy($temp);
                        
imagedestroy($origen);
                    }
                    else 
                    {
                        
$new_ancho $tamano_m;
                        
$new_alto = ($alto/$ancho)*$new_ancho;
                        
$y = ($alto-$ancho)/2;
                        
$x 0;
                        
                        
$origen imagecreatefromjpeg($destino);
                        
$temp imagecreatetruecolor($tamano_m$tamano_m);
                        
imagecopyresampled($temp$origen00$x$y$new_ancho$new_alto$ancho$alto);
                        
imagejpeg($temp$destino_mn.$resultado90);
                        
imagedestroy($temp);
                        
imagedestroy($origen);
                    }
                    
                    echo 
"<img src=\"".$destino."\" /><br />";
                    echo 
"<img src=\"".$destino_mn.$resultado."\" />";    
        }
        else
        {
            echo 
"Solo se admiten imagenes en .jpg - .png - .gif - .jpeg";
            exit;
        }
    
}


}    

$subirdatos = new upload_imagen();
$subirdatos->thumbnail();
    
?>

Mi otro script es igual solo que guarda las url en la base de datos. Me interesa saber como subir 10 archivos a la vez. Gracias.