Foros del Web » Programando para Internet » PHP »

Upload para varias imagenes en php

Estas en el tema de Upload para varias imagenes en php en el foro de PHP en Foros del Web. 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 ...
  #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, 5 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.
  #2 (permalink)  
Antiguo 29/08/2010, 18:37
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Upload para varias imagenes en php

Hola,

Puedes utilizar 10 campos file con distintos nombres o bien hacer un array de campos, como con cualquier otro

Código:
<input type="file" name="imagen[]" />
Esto resultará en que $_FILES["imagen"]["tmp_name"] no será un valor único sino un array (lo mismo $_FILES["imagen"]["name"] y demás valores). Luego con recorrer ese array tendrás acceso a cada una de las imagenes.

Saludos!
  #3 (permalink)  
Antiguo 29/08/2010, 18:48
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

Justo eso es lo que queria evitar osea copia el mismo codigo para cada input....por algo creo que se esta trabajando con Programacion Orientada a Objetos.

A una cosa para los que deseen este codigo genera una miniatura pero no lo distorciona, solo toma la parte del centro.
  #4 (permalink)  
Antiguo 29/08/2010, 18:48
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

Sobre los input file no hay problema, eso lo agrego pero como haria para que sea reconocido por el codigo.
  #5 (permalink)  
Antiguo 29/08/2010, 18:52
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Upload para varias imagenes en php

No hace falta que dupliques el código, solo utiliza funciones. Modifica tu función para pasarle los datos del archivo como argumentos. Algo así sería para un array de inputs:

Código PHP:
$subirdatos = new upload_imagen(); 

foreach(
$_FILE['imagen']['tmp_name'] as $k=>$v) {
  
$tmpname=$v;
  
$archivo_original=$_FILE['imagen']['name'][$k];
  
$tamano $_FILES['imagen']['size'][$k]; 
  
$tipo $_FILES['imagen']['type'][$k]; 

  
$subirdatos->thumbnail($tmpname$archivo_original$tamano$tipo);

Saludos!
  #6 (permalink)  
Antiguo 29/08/2010, 19:13
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

me dio este error

Warning: Invalid argument supplied for foreach() in D:\Programas\xampp\htdocs\upload\upload4.php on line 71

de donde jalas $v y a donde iria $tmpname
  #7 (permalink)  
Antiguo 29/08/2010, 19:25
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Upload para varias imagenes en php

Código PHP:
foreach($_FILE['imagen']['tmp_name'] as $k=>$v) { 
Muy importante para que funcione que imagen sea un array de inputs y que se hayan seleccionado más de un archivo, deberías hacer la verificación necesaria.

Dice as $k=>$v, lo que significa que en cada ciclo $k contendrá la clave y $v el valor. Por lo tanto $tmpname contendrá el tmp_name de cada imagen.

Saludos!
  #8 (permalink)  
Antiguo 29/08/2010, 19:31
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

entonces a que se debe el error, probe poniendo esto, pero nada.
Código PHP:
Ver original
  1. function thumbnail($tmpname, $archivo_original, $tamano, $tipo)
  #9 (permalink)  
Antiguo 29/08/2010, 19:41
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Upload para varias imagenes en php

El campo se llama archivo, no imagen, cierto?

Me confundí el nombre, prueba cambiar donde aparece 'imagen' por 'archivo'.

Saludos
  #10 (permalink)  
Antiguo 29/08/2010, 19:46
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

eso fue lo que modifique primero. Ahora la pregunta es

debo poner esto 10 veces

Código HTML:
Ver original
  1. <input id="archivo" name="archivo[]" size="30" type="file" /><br />


o esto

Código HTML:
Ver original
  1. <input id="archivo" name="archivo[0]" size="30" type="file" /><br />
  2. <input id="archivo" name="archivo[1]" size="30" type="file" /><br />
  #11 (permalink)  
Antiguo 29/08/2010, 19:57
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Upload para varias imagenes en php

archivo[] solamente, sin números.

Saludos!
  #12 (permalink)  
Antiguo 29/08/2010, 20:31
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

me sigue dando el error, y el error esta en esto segun el resultado

Código PHP:
Ver original
  1. foreach($_FILE['imagen']['tmp_name'] as $k=>$v) {
  #13 (permalink)  
Antiguo 29/08/2010, 20:33
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Upload para varias imagenes en php

Según tu formulario sería

Código PHP:
foreach($_FILE['archivo']['tmp_name'] as $k=>$v) { 
Saludos!
  #14 (permalink)  
Antiguo 29/08/2010, 23:05
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: Upload para varias imagenes en php

Cita:
Justo eso es lo que queria evitar osea copia el mismo codigo para cada input....por algo creo que se esta trabajando con Programacion Orientada a Objetos


Hay que estudiar un poco más la teoria de objetos, no por que escribas un "class Algo" ya estas utilizando el poder de los objetos

Para este caso en lugar de esperar que te resuelvan el problema piensa en "delegar responsabilidades" un objeto que se encargue de "subir 1 archivo" y otro que se encargue de procesar "muchos de estos objetos"

Por otra parte el markup HTML poco tiene que ver con OOP, por cierto usar el array de INPUTS es mucho mejor que tu segunda opción.
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #15 (permalink)  
Antiguo 31/08/2010, 16:51
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

y alguna recomendacion en el codigo, estuve probando y buscandole alguna solucion. Quizas lo consiga hacer rapido.
  #16 (permalink)  
Antiguo 21/09/2010, 18:10
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

Bueno al final lo consegui y tambien pude agregar cada url en la base de datos.

Pero lo que aun no puedo hacer es comprobar, si no se carga una imagen o si solo se carga por ejemplo 3 o 5 y que no me envie el error, generandome miniaturas sin formato.


Código PHP:
if (isset ($_FILES["archivos"])) 
{
        
//de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
        //obtenemos la cantidad de elementos que tiene el arreglo archivos
        
$tot count($_FILES["archivos"]["name"]);
        
//este for recorre el arreglo
    
for ($i 0$i $tot$i++)
    {
        
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
        //para trabajar con este
        
$tmp_name $_FILES["archivos"]["tmp_name"][$i];
        
$prefijo substr(md5(uniqid(rand())),0,6);
        
$name $_FILES["archivos"]["name"][$i];
        
        
$destino "fotos/".$prefijo."_".$name;
        
        
copy($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 
"Imagen Original <br /> <img src=\""$destino."\" /><br /><br />\n";
    echo 
"Imagen en Miniatura <br /> <img src=\""$destino_mn.$resultado ."\" /><br />\n";
    
$url_auto[$i] = $prefijo."_".$name;
    }
}
else
{
    echo 
"No hay ninguna imagen para agregar.";

  #17 (permalink)  
Antiguo 25/05/2011, 18:29
Avatar de figardi  
Fecha de Ingreso: mayo-2011
Mensajes: 18
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Upload para varias imagenes en php

Hola si conseguite este script para varias imagenes, te agradecia me lo dejaras.
Fidel
  #18 (permalink)  
Antiguo 25/05/2011, 18:34
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Upload para varias imagenes en php

Te dejo para que te guíes este código

http://www.marcofbb.com.ar/multiupload-en-php/
  #19 (permalink)  
Antiguo 25/05/2011, 20:17
Avatar de figardi  
Fecha de Ingreso: mayo-2011
Mensajes: 18
Antigüedad: 12 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Upload para varias imagenes en php

Gracias, por tu ayuda.
Yo lo que quiero es por ejemplo estoy haciendo una inmobiliaria
y quiero poner varias imagenes a un registro, con una imagen todo perfecto
pero me gustaria saber como poner varias.
Muchas gracias por contestar
  #20 (permalink)  
Antiguo 25/05/2011, 21:28
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

Hize una clase, de este codigo """"mejorado"""" (creo). Pero lo que pasa es que al utilizarlo con uploads en jquery he modificado mucho y casi del original no queda nada pero estoy seguro que en algunos puntos he mejorado, quizas en otras no.


Ya posteo el codigo, creo que ni bien la clase este lista, se puede poner para realizar multiupload.

Nota: Tengo fallas al comprobar, por ejemplo tuve que poner "nulo" o "ok" para realizar estas comprobaciones, asi puse otras opciones, espero ahi ayuden.

Caracteristicas.

Sobre pone un logo encima de la imagen, osea al hacer upload, automaticamente coje el logo y lo copia encima para mostrarlo luego. Y al final creo el thumb.
  #21 (permalink)  
Antiguo 25/05/2011, 21:35
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Upload para varias imagenes en php

Código PHP:
Ver original
  1. <?php
  2. class uploadIMG{
  3.  
  4.     # Obtenemos el nombre del $_FILES[]
  5.    var $file;
  6.     # Obtenemos el temporal del $_FILES[]
  7.    var $temp;
  8.     # Obtenemos el nombre de la carpeta para la imagen      
  9.    var $carpeta;
  10.     # Obtenemos el nombre del archivo  
  11.    var $name;
  12.     # Obtenemos el tipo de archivo
  13.    var $tipo;
  14.     # Obtenemos el tamaño del archivo en bits
  15.    var $tam_file_bt;
  16.     # Obtenemos el tamaño del archivo en KB
  17.    var $tam_file_kb;
  18.     # Asignamos un tamaño maximo del archivo en KB
  19.    var $tam_max;
  20.     # Asignamos un nombre nuevo al archivo
  21.    var $newname;
  22.     # Obtenemos la extension del archivo
  23.    var $ext;
  24.     # Obtenemos la extension del archivo
  25.    var $ext2;
  26.     # Asignamos extensiones permitidas para el archivo
  27.    var $exton;
  28.     var $datosimg;
  29.     # Definimos un nuevo alto para la imagen
  30.    var $new_alto;
  31.     # Definimos un nuevo ancho para la imagen
  32.    var $new_ancho;
  33.     # Definimos un nuevo alto para la imagen
  34.    var $new_alto2;
  35.     # Definimos un nuevo ancho para la imagen
  36.    var $new_ancho2;
  37.     # Definimos el alto maximo de la imagen
  38.    var $hmax;
  39.     # Definimos el ancho maximo de la imagen
  40.    var $wmax;
  41.     # Definimos una posicion x para la imagen
  42.    var $image_x;
  43.     # Definimos una posicion y para la imagen
  44.    var $image_y;
  45.     # Definimos la ratio del ancho y alto de la imagen
  46.    var $ratio;
  47.     # Obtenemos la direccion del logo para la imagen
  48.    var $logo;
  49.     # Creamos la imagen del logo para utilizarla
  50.    var $src;
  51.     # Creamos la imagen apartir del archivo temporal
  52.    var $imagen;
  53.     # Creamos la imagen para utilizarla
  54.    var $img;
  55.     # Variable para Thumb
  56.    var $img_thumb;
  57.     var $imagen_thumb;
  58.     # Alto de la Imagen Thumb;
  59.    var $alto_thumb;
  60.     # Ancho de la Imagen Thumb
  61.    var $ancho_thumb;
  62.     # Ratio thumb
  63.    var $ratio_thumb;
  64.     # Ancho Maximo Thumb
  65.    var $ancho_thumb_max;
  66.     # Alto Maximo Thumb
  67.    var $alto_thumb_max;
  68.     var $listo;
  69.     var $listo_thumb;
  70.     var $copiado;
  71.     var $copy_thumb;
  72.     var $message;
  73.     var $end;
  74.     var $init;
  75.    
  76.     function load(){
  77.         $this->exton            = array("image/jpeg",
  78.                                         "image/gif",
  79.                                         "image/png");       // Extensiones validas
  80.         $this->ext              = "";
  81.         $this->ext2             = array("jpg","gif","png","jpeg");
  82.         $this->image_x          = 0;                        // Posicion X de la imagen
  83.         $this->image_y          = 0;                        // Posicion Y de la imagen
  84.         $this->ratio            = 0;                        // Ratio de la imagen
  85.         $this->img              = "";                       // Dejamos en blanco la variable img
  86.         $this->src              = "";                       // Dejamos en blanca la variable src
  87.         $this->new_alto         = 0;                        // Nuevo alto de la imagen
  88.         $this->new_ancho        = 0;                        // Nuevo ancho de la imagen
  89.         $this->hmax             = 0;                        // Alto maximo de la imagen
  90.         $this->wmax             = 0;                        // Ancho maximo de la imagen
  91.         $this->alto_thumb_max   = 0;                        // Alto del Thumb maximo
  92.         $this->ancho_thumb_max  = 0;                        // Ancho del Thumb Maximo
  93.         $this->imagen           = "";                       // Varible que obtine la imagen del temporal
  94.         $this->listo            = false;                    // Valor true o false para guardar imagen
  95.         $this->listo_thumb      = false;                    // Dejamos en blancado listado_thumb
  96.         $this->copiado          = "";                       // Comprobar si se guardo la imagen
  97.         $this->newname          = "";                       // Nuevo nombre en blanco
  98.         $this->datosimg         = "";                       // Valor vacio a datosimag
  99.         $this->tam_file_bt      = 0;                        // Tamaño de la imagen en 0 bits
  100.         $this->tam_file_kb      = 0;                        // Tamaño de la imagen en 0 kb
  101.         $this->tipo             = "";                       // Tipo de imagen vacio
  102.         $this->tam_max          = 0;                        // Tamaño maximo de imagen en 0;
  103.         $this->message          = "";                       // Mensaje en blanco
  104.         $this->init             = "";                       // Variable de inicio
  105.         $this->end              = "";                       // Variable final
  106.     }
  107.     function addDate($file, $carpeta, $tam_max, $logo){
  108.        $this->file          =   $_FILES[$file];
  109.        $this->carpeta       =   $carpeta;
  110.        $this->tam_max       =   $tam_max;
  111.        $this->logo          =   $logo;
  112.        $this->temp          =   $this->file['tmp_name'];
  113.        $this->name          =   $this->file['name'];
  114.        $this->tipo          =   $this->file['type'];
  115.        $this->tam_file_bt   =   $this->file['size'];
  116.         $source = substr(md5(uniqid(rand())),0,50) ."-_";
  117.         $source = str_split($source,1);
  118.         for($i=1; $i<=30; $i++)
  119.         {
  120.             mt_srand((double)microtime() * 1000000);
  121.             $num            = mt_rand(1,count($source));
  122.             $this->newname .= $source[$num-1];
  123.         }
  124.         $this->ext           =   strtolower(substr($this->name, strrpos($this->name, '.')+1));
  125.         $this->tam_file_kb   =   round(filesize($this->temp)/1024,2);
  126.         $this->newname      .=   ".jpg";
  127.         $this->datosimg         =   getimagesize($this->temp);
  128.         if( ! getimagesize($this->temp) )
  129.         {
  130.                 $this->message = "Este archivo no es valido";
  131.                 $this->init = false;
  132.         }
  133.         else{$this->init = true;}
  134.     }
  135.     function analizaIMG(){
  136.        if($init == true)
  137.         {
  138.             if(!is_uploaded_file($this->temp)){
  139.                 $this->message = "La imagen no fue copiada";
  140.                 $this->listo = false;
  141.             }elseif (!in_array($this->tipo, $this->exton)){
  142.                 $this->message = "Tipo de Imagen no válido";
  143.                 $this->listo = false;
  144.             }elseif(!in_array($this->ext, $this->ext2)){
  145.                 $this->message = "Tipo de Extensión No permitida";
  146.                 $this->listo = false;
  147.             }elseif($this->tam_file_kb > $this->tam_max){
  148.                 $this->message = "El archivo supera el peso limite. " . $this->tam_file_kb . " kb.";
  149.                 $this->listo = false;
  150.             }elseif($this->datosimg[0]< 300){
  151.                 $this->message = "La imagen es demasiado pequeña, lo recomendable es 800 x 600";
  152.                 $this->listo = false;
  153.             }elseif($this->datosimg[1] < 300){
  154.                 $this->message = "La imagen es pequeña, lo recomendable es 800 x 600. Minimos 300px x 300px ";
  155.                 $this->listo = false;
  156.             }else{
  157.                 $this->listo = true;
  158.             }
  159.         }
  160.     }
  161.     function copiarIMG(){
  162.         if ($this->listo == true){
  163.             switch($this->datosimg['mime'])
  164.             {
  165.                 case $this->exton[0]:
  166.                     $this->imagen = imagecreatefromjpeg($this->temp);
  167.                     $this->listo_thumb = true;
  168.                     break;
  169.      
  170.                 case $this->exton[1]:
  171.                     $this->imagen = imagecreatefromgif($this->temp);
  172.                     $this->listo_thumb = true;
  173.                     break;
  174.              
  175.                 case $this->exton[2]:
  176.                     $this->imagen = imagecreatefrompng($this->temp);
  177.                     $this->listo_thumb = true;
  178.                     break;
  179.              
  180.                 default:
  181.                     $this->listo_thumb = false;
  182.             }
  183.                 if ($this->listo_thumb == true)
  184.                 {
  185.                     $this->hmax             = 600;
  186.                     $this->new_ancho        = 800;
  187.                    
  188.                     $this->ratio            = ($this->datosimg[0] / $this->new_ancho);
  189.                     $this->new_alto         = ($this->datosimg[1] / $this->ratio);
  190.  
  191.                     if ($this->datosimg[0]< $this->new_ancho && $this->datosimg[1]< $this->hmax){
  192.                        
  193.                         $this->new_ancho = $this->datosimg[0];
  194.                         $this->new_alto  = $this->datosimg[1];
  195.                        
  196.                     }elseif($this->new_alto>$this->hmax){
  197.                        
  198.                         $this->wmax         = $this->hmax*$this->new_ancho/$this->new_alto;
  199.                         $this->new_alto     = $this->hmax;
  200.                         $this->new_ancho    = $this->wmax;
  201.                     }
  202.  
  203.                     $this->src = imagecreatefrompng($this->logo);
  204.                     $this->img = imagecreatetruecolor($this->new_ancho, $this->new_alto);
  205.                                
  206.                     imagecopyresampled($this->img, $this->imagen, 0, 0, 0, 0, $this->new_ancho, $this->new_alto, $this->datosimg[0], $this->datosimg[1]);
  207.                    
  208.                     imagecopy($this->img, $this->src, $this->new_ancho - 126, $this->new_alto - 32, 0, 0, 125, 30);
  209.                                
  210.                     $this->copiado = imagejpeg($this->img,$this->carpeta . $this->newname, 80);
  211.            
  212.                     if (isset($this->copiado)){
  213.                         imagedestroy($this->src);
  214.                         imagedestroy($this->img);
  215.                         $this->message = "Copiado correctamente, el tipo de archivo es:" . $this->tipo . "<br />";
  216.                        
  217.                     }
  218.                 }
  219.         }
  220.     }
  221.     function Thumb(){
  222.        
  223.         if ($this->listo_thumb == true){
  224.                          
  225.             $this->img_thumb = imagecreatetruecolor(150, 150);
  226.            
  227.  
  228.             $this->new_ancho2 = $this->datosimg[0];
  229.             $this->new_alto2 = $this->datosimg[1];
  230.            
  231.            
  232.             $this->ancho_thumb_max = 150;
  233.             $this->alto_thumb_max = 150;
  234.  
  235.             if($this->ancho_thumb_max/$this->new_ancho2 > $this->alto_thumb_max/$this->new_alto2)
  236.             {
  237.                 $this->ancho_thumb = $this->ancho_thumb_max;
  238.                 $this->alto_thumb = ($this->new_alto2 * $this->ancho_thumb) / $this->new_ancho2;
  239.                 $this->image_x = 0;
  240.                 $this->image_y = ($this->alto_thumb_max - $this->alto_thumb) / 2;
  241.             }
  242.             else
  243.             {
  244.                 $this->alto_thumb = $this->alto_thumb_max;
  245.                 $this->ancho_thumb = ($this->new_ancho2 * $this->alto_thumb) / $this->new_alto2;
  246.                 $this->image_y = 0;
  247.                 $this->image_x = ($this->ancho_thumb_max - $this->ancho_thumb) / 2;
  248.             }
  249.  
  250.                
  251.             imagecopyresampled($this->img_thumb, $this->imagen, $this->image_x, $this->image_y, 0, 0, $this->ancho_thumb, $this->alto_thumb, $this->new_ancho2, $this->new_alto2);
  252.          
  253.            
  254.             $this->copy_thumb = @imagejpeg($this->img_thumb,$this->carpeta . "thumb/" . $this->newname, 80);
  255.    
  256.             if ($this->copy_thumb){
  257.                 imagedestroy($this->img_thumb);
  258.                 imagedestroy($this->imagen);
  259.                 $this->message = "Copiado correctamente Thumb <br />";
  260.                 $this->end = "ok";
  261.             }
  262.         }
  263.     }
  264.    
  265. }
  266. ?>
  #22 (permalink)  
Antiguo 25/05/2011, 21:44
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Upload para varias imagenes en php

Deberías programar OOP en PHP5
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #23 (permalink)  
Antiguo 29/05/2011, 13:46
Avatar de figardi  
Fecha de Ingreso: mayo-2011
Mensajes: 18
Antigüedad: 12 años, 11 meses
Puntos: 0
ayuda

Cuando recupero desde Mysql en mi página php un campo que contiene un texto largo con varios párrafos, me lo presenta en un solo bloque sin puntos y aparte.
¿Cómo puedo hacer para que el texto se muestre tal como lo he entrado desde el formulario de insertar registro?
Gracias

Etiquetas: imagenes, simple, upload
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 05:16.