Foros del Web » Programando para Internet » PHP »

extension jpeg o jpg en los uploads?

Estas en el tema de extension jpeg o jpg en los uploads? en el foro de PHP en Foros del Web. Estoy poniendo este script para redimensionar mis uploads: http://www.forosdelweb.com/f18/redim...ad-php-654167/ Me gusta, pero renombra los archivos jpg como jpeg. Eso ya no me gusta tanto. Como ...
  #1 (permalink)  
Antiguo 20/04/2010, 13:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
extension jpeg o jpg en los uploads?

Estoy poniendo este script para redimensionar mis uploads:
http://www.forosdelweb.com/f18/redim...ad-php-654167/

Me gusta, pero renombra los archivos jpg como jpeg. Eso ya no me gusta tanto. Como hago para que se sigan llamando jpg?
  #2 (permalink)  
Antiguo 20/04/2010, 13:55
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: extension jpeg o jpg en los uploads?

si pegas la class aca puedo verla!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 20/04/2010, 13:56
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: extension jpeg o jpg en los uploads?

Ahi va:

Código PHP:
<?php

    
/**
     * Thumbnail
     * 
     * Crea una miniatura de una imagen y la guarda en un formato especifico
     * 
     * @package 
     * @author Snd234
     * @copyright 2008
     * @version 1.0
     * @access public
     */
    
class Thumbnail {
        
// informacion de la miniatura
        
private $thumbnail;
        private 
$thumbnail_width;
        private 
$thumbnail_height;
        
        
// informacion de la imagen original
        
private $image;
        private 
$image_width;
        private 
$image_height;
        private 
$image_type;
        
        public 
$error;
        
        
/**
         * Thumbnail::__construct()
         * 
         * @param mixed $source
         * @return
         */
        
public function __construct($source) {
            
$image_info getimagesize($source);
            
            if(
$image_info) {
                
$this->image_width $image_info[0];
                
$this->image_height $image_info[1];
                
$this->image_type $image_info[2];
                
                switch(
$this->image_type) {
                    case 
IMAGETYPE_JPEG: {
                        
$this->image imagecreatefromjpeg($source);
                        break;
                    }
                    
                    case 
IMAGETYPE_GIF: {
                        
$this->image imagecreatefromgif($source);
                        break;
                    }
                    
                    case 
IMAGETYPE_PNG: {
                        
$this->image imagecreatefrompng($source);
                        break;
                    }
                    
                    default: {
                        
$this->error "Formato no soportado";
                        break;
                    }
                }
            } 
            else {
                
$this->error "Formato invalido";
            }
        }
        
        
/**
         * Thumbnail::resize()
         * 
         * @param mixed $width
         * @param integer $height
         * @return void
         */
        
public function resize($width$height 0) {
            
$this->thumbnail_width $width;
            
            if(
$height == 0) {
                
$this->thumbnail_height $width;
            } else {
                
$this->thumbnail_height $height;
            }
            
            
$this->thumbnail imagecreatetruecolor($this->thumbnail_width$this->thumbnail_height);
            
            
imagecopyresampled(
                
$this->thumbnail$this->image0000,
                
$this->thumbnail_width$this->thumbnail_height,
                
$this->image_width$this->image_height
            
);
        }
        
        
/**
         * Thumbnail::save_jpg()
         * 
         * @param mixed $dir
         * @param mixed $name
         * @param integer $quality
         * @return
         */
        
public function save_jpg($dir$name$quality 95) {
            
$path $dir $name image_type_to_extension(IMAGETYPE_JPEG);
            
imagejpeg($this->thumbnail$path$quality);
            
            
imagedestroy($this->thumbnail);
        }
        
        
/**
         * Thumbnail::save_gif()
         * 
         * @param mixed $dir
         * @param mixed $name
         * @return
         */
        
public function save_gif($dir$name) {
            
$path $dir $name image_type_to_extension(IMAGETYPE_GIF);
            
imagegif($this->thumbnail$path);
            
            
imagedestroy($this->thumbnail);
        }
        
        
/**
         * Thumbnail::save_png()
         * 
         * @param mixed $dir
         * @param mixed $name
         * @return
         */
        
public function save_png($dir$name) {
            
$path $dir $name image_type_to_extension(IMAGETYPE_PNG);
            
imagegif($this->thumbnail$path);
            
            
imagedestroy($this->thumbnail);
        }
    }
    
?>
  #4 (permalink)  
Antiguo 20/04/2010, 14:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: extension jpeg o jpg en los uploads?

image_type_to_extension(IMAGETYPE_JPEG); <-- eso hace que sea JPEG si quieres le obligas a ser jpg y le pones

Código PHP:
Ver original
  1. $path = $dir . $name . ".jpg";
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 20/04/2010, 14:11
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: extension jpeg o jpg en los uploads?

Si. Funciona perfecto. Gracias!

Son equivalentes en sentido tecnico? Yo necesitaba cambiarlo por cuestiones de mi script, nada mas.

:)
  #6 (permalink)  
Antiguo 20/04/2010, 14:15
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: extension jpeg o jpg en los uploads?

claro eso solo veia si eran jpeg o jpg y supuestamente le asignaba la misma extencion... para efectos practicos es lo mismo!

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 20/04/2010, 15:28
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: extension jpeg o jpg en los uploads?

En realidad siempre asignaba jpeg, aun cuando las fotos fueran jpg.

Me interesaba mantanerlo con 3 letras porque tengo varios scripts que chequean que la extension sea jpg, y es un promo tener que agregarles que tambien acepten jpeg.

Gracias.
  #8 (permalink)  
Antiguo 20/04/2010, 16:28
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: extension jpeg o jpg en los uploads?

¿Y qué tal si cambias tu script para verificar la extensión? Supon que llegas a extender las capacidades de tu aplicación, de tal manera que quieras agregar todo tipo de archivos, en ese caso, tu script actual se quedaría corto.

Me imagino que tienes algo así :

Código PHP:
Ver original
  1. if($extension=='jpg'||$extension=='gif'....)

Pues si es así, o similar, hay mejores maneras.

No sería mala idea que mejores ese script, hacerlo más flexible.

Solo una opinión
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 20/04/2010, 16:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: extension jpeg o jpg en los uploads?

Cita:
Iniciado por spider_boy Ver Mensaje
¿Y qué tal si cambias tu script para verificar la extensión? Supon que llegas a extender las capacidades de tu aplicación, de tal manera que quieras agregar todo tipo de archivos, en ese caso, tu script actual se quedaría corto.

Me imagino que tienes algo así :

Código PHP:
Ver original
  1. if($extension=='jpg'||$extension=='gif'....)

Pues si es así, o similar, hay mejores maneras.

No sería mala idea que mejores ese script, hacerlo más flexible.

Solo una opinión

en realidad si te fijas la classe si hace eso :P
switch($this->image_type) {


saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #10 (permalink)  
Antiguo 20/04/2010, 16:45
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: extension jpeg o jpg en los uploads?

Lo tengo así la mayor de las veces:
Cita:
$subdivide = pathinfo($file);
$extension = strtolower($subdivide['extension']);
$name = $subdivide['filename'];

// allowed extensions
$permitidas = array("jpg", "jpeg","gif","png");

if (in_array($extension, $permitidas))
... proceso las fotos
}
Y ahora, para hacer uso de esta libreria que cambia el tamaño de las imagenes, tengo también esto (le falta la linea jpeg nomas):

Código PHP:
            switch ($extension) {
                case 
"jpg":
                    if(
$thumb->save_jpg($path $folder$name)){
                    echo 
"File stored in: " "<input class='url' type='text' value='"$folder $file."' />";}
                    else {echo 
"write permission problem in "$path ." folder. It should be 777.";};
                    break;
                case 
"png":
                    if(
$thumb->save_png($path $folder$name)){
                    echo 
"File stored in: " "<input class='url' type='text' value='"$folder $file."' />";}
                    else { echo 
"write permission problem in "$path ." folder. It should be 777.";};
                     break;
                case 
"gif":
                    if(
$thumb->save_gif($path $folder$name)){
                    echo 
"File stored in: " "<input class='url' type='text' value='"$folder $file."' />";}
                    else { echo 
"write permission problem in "$path ." folder. It should be 777.";};
                     break;
            } 
Lo ves bien? Hay manera mejor?

Como sea, me da inseguridad que la extension sea jpeg. Será algo irracional pero me pasa eso.
  #11 (permalink)  
Antiguo 20/04/2010, 22:48
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: extension jpeg o jpg en los uploads?

Yo haria lo siguiente:

Código PHP:
Ver original
  1. switch($extension) {
  2.     case 'jpg':
  3.     case 'png':
  4.     case 'gif':
  5.          $method = 'save_' . $extension;
  6.          break;
  7.     default:
  8.          return false;
  9. }
  10.  
  11. if($thumb->$method($path . $folder, $name)){
  12.     echo "File stored in: " . "<input class='url' type='text' value='". $folder . $file."' />";
  13. }
  14. else {
  15.     echo "write permission problem in ". $path ." folder. It should be 777.";
  16. }
__________________
I see dead pixels

Etiquetas: extension, jpeg, jpg, 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 12:12.