Foros del Web » Programando para Internet » PHP »

Permitir mas extensiones

Estas en el tema de Permitir mas extensiones en el foro de PHP en Foros del Web. Hola a todos; ¿Alguien me podría decir como permitir mas extensiones? Con este codigo, solo me sube las JPG, pero las GIF y PNG no ...
  #1 (permalink)  
Antiguo 23/09/2010, 05:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Permitir mas extensiones

Hola a todos;
¿Alguien me podría decir como permitir mas extensiones?
Con este codigo, solo me sube las JPG, pero las GIF y PNG no me lsa sube.
Un saludo
Código PHP:
// obtenemos los datos del archivo  
          
$tamano $_FILES["archivo"]['size'];  
          
$tipo $_FILES["archivo"]['type'];  
          
$archivo $_FILES["archivo"]['name'];  
          
$prefijo substr(md5(uniqid(rand())),0,6);  
           
           
     
              
// guardamos el archivo a la carpeta "capturas"  
            
($tipo == "image/jpeg" || $tipo == "image/jpg");  
              
$destino =  "galeria/".$prefijo."_".$archivo;  
            
$copy=copy($_FILES['archivo']['tmp_name'],$destino); 
           
//aquí empieza el código de creación del thumbnail 
             
$sizegetimagesize("$destino"); 
           
          
$width=$size[0]; 
          
$height=$size[1]; 
           
          
$source=$destino// archivo de origen  
          
$dest="galeriap/tb_".$prefijo.$archivo// archivo de destino  
          
$width_d  100// Definimos el tamaño a 100 px  
          
$height_d = ($width_d $height) / $width 

            list(
$width_s$height_s$type$attr) = getimagesize($source$info2); // obtengo información del archivo  
          
$gd_s imagecreatefromjpeg($source); // crea el recurso gd para el origen  
          
$gd_d imagecreatetruecolor($width_d$height_d); // crea el recurso gd para la salida  

            
imagecopyresampled($gd_d$gd_s0000$width_d$height_d$width_s$height_s); // redimensiona  
            
imagejpeg($gd_d$dest); // graba  
          
        // Se liberan recursos  
        
imagedestroy($gd_s);  
        
imagedestroy($gd_d); 
  #2 (permalink)  
Antiguo 23/09/2010, 05:24
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Permitir mas extensiones

Código PHP:
Ver original
  1. ($tipo == "image/jpeg" || $tipo == "image/jpg" || $tipo == "image/png");

y asi añades los tipos que quieras.

Si te sirvio karma :)
  #3 (permalink)  
Antiguo 23/09/2010, 12:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Permitir mas extensiones

El problema lo tengo a la hora de crear la imagen. Ya que no me la sube, supongo que es un problema del GD. Ya que no me da error, lo que no me muestra la imagen, solo un cuadro negro.
  #4 (permalink)  
Antiguo 23/09/2010, 18:30
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Permitir mas extensiones

Hola,

Código:
$gd_s = imagecreatefromjpeg($source);
La instrucción es específicamente para JPEG.
Posiblemente,

Pseudo-codigo (código que parece PHP pero no lo es):
Código PHP:
Ver original
  1. switch(exif_imagetype($destino)) {
  2.   case IMAGETYPE_JPEG:
  3.     $gd_s = imagecreatefromjpeg($destino);
  4.     break;
  5.   case IMAGETYPE_GIF:
  6.     $gd_s = imagecreatefromgif($destino);
  7.     break;
  8.   case IMAGETYPE_PNG:
  9.     $gd_s = imagecreatefrompng($destino);
  10.     break;
  11.   default:
  12.     die('Imagen no soportada.');
  13. }

Saludos,
  #5 (permalink)  
Antiguo 23/09/2010, 20:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Permitir mas extensiones

ok, funciona perfecto. Muchas gracias

Etiquetas: mas, permitir, extension
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 02:16.