|    
			
				15/03/2013, 22:27
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: septiembre-2012 Ubicación: Buenos aires 
						Mensajes: 110
					 Antigüedad: 13 años, 1 mes Puntos: 9 |  | 
  |  Respuesta: Como logro esto en php [Class]  
  Implemente lo que me dijiste, pero [no se si sera por esto.] me da un error con la carpeta a donde iria el thumbnail, retorne la url de la carpeta destino y es perfecta a lo que no entiendo por que no se podria guardar...
 La clase:
 -----------
 <?
 class Thumbnails{
 
 # Forma de uso
 # $thumb = new Thumbnails($file);
 # $thumb->width($size)->height($size)->generate($path);
 # $thumb->width($size)->generate($path);
 # $thumb->height($size)->generate($path);
 # $thumb->auto($size)->generate($path);
 
 // ----- Variables -----
 private $types	= 'jpg,jpeg,png,gif,wbmp';
 private $thumb	= NULL;
 private $error	= NULL;
 
 // ----- Constructor -----
 public function __construct($file){
 
 # Asignaciones
 $this->thumb	= array();
 
 # Inicializar
 $this->init($file);
 
 }
 
 
 // ----- Inicializador -----
 private function init($file){
 
 # Detectando formato.
 $Type					=	explode('.',$file);
 $this->thumb['type']	=	strtolower(end($Type));
 
 # Creando imagen segun formato.
 if($this->thumb['type']=='jpg' || $this->thumb['type']=='jpeg'){
 
 # Asignando
 $this->thumb['type'] 	= 'jpeg';
 $this->thumb['src']		= ImageCreateFromJPEG($file);
 
 }elseif($this->thumb['type']=='png'){
 
 # Creando imagen.
 $this->thumb['src']		= ImageCreateFromPNG($file);
 
 }elseif($this->thumb['type']=='gif'){
 
 # Creando imagen.
 $this->thumb['src']		= ImageCreateFromGIF($file);
 
 }elseif($this->thumb['type']=='wbmp'){
 
 # Creando imagen.
 $this->thumb['src']		= ImageCreateFromWBMP($file);
 
 }else{
 
 # Informe de error
 $this->error			= 'El formato no es soportada.';
 
 }
 
 # Asignando tamaños.
 $this->thumb['size_w']	= imagesx($this->thumb['src']);
 $this->thumb['size_h']	= imagesy($this->thumb['src']);
 
 # Asignando calidad.
 $this->thumb['quality']	= 100;
 
 }
 
 // ----- Height -----
 public function height($size=98){
 
 # Alto
 $this->thumb['thumb_h']	= $size;
 
 # Ancho
 @$this->thumb['thumb_w'] = ( $this->thumb['thumb_h'] / $this->thumb['size_h'] ) * $this->thumb['size_w'];
 
 # Encadenamiento medoto.
 return $this;
 }
 
 // ----- Width -----
 public function width($size=98){
 
 # Ancho.
 $this->thumb['thumb_w']	= $size;
 
 # Alto.
 @$this->thumb["thumb_h"] = ($this->thumb["thumb_w"]/$this->thumb["size_w"])*$this->thumb["size_h"];
 
 # Return this
 return $this;
 
 }
 
 // ----- Automatico -----
 public function auto($size=98){
 
 # Si la imagen es más ancha que larga.
 if($this->thumb['size_w'] >= $this->thumb['size_h']){
 
 # Ancho.
 $this->thumb['thumb_w']	= $size;
 
 # Alto.
 @$this->thumb["thumb_h"] = ($this->thumb["thumb_w"]/$this->thumb["size_w"])*$this->thumb["size_h"];
 
 }else{
 
 # Alto
 $this->thumb['thumb_h']	= $size;
 
 # Ancho
 @$this->thumb['thumb_w'] = ( $this->thumb['thumb_h'] / $this->thumb['size_h'] ) * $this->thumb['size_w'];
 
 }
 
 # Encadena metodos
 return $this;
 
 }
 
 // ----- Calidad -----
 public function quality($quality = 100){
 
 # Calidad.
 $this->thumb['quality'] = $quality;
 
 # Encadenar metodo
 return $this;
 
 }
 
 // ----- Generate -----
 public function generate($path = '/'){
 
 # Carpeta.
 if(!is_writable($path)){
 
 #$this->error = 'No se puede guardar la imagen en esta locacion.';
 $this->error = '<a href="'.$path.'">ruta</a>';
 
 }
 
 # Errores.
 if($this->error!==NULL){
 
 echo $this->error;
 exit();
 
 }
 
 # Destino.
 $this->thumb['destino']	= ImageCreateTrueColor($this->thumb['thumb_w'],$this->thumb['thumb_h']);
 @imagecopyresized($this->thumb["destino"],$this->thumb['src'],0,0,0,0,$this->thumb['thumb_w'],$this->thumb['thumb_h'],$this->thumb['size_w'],$this->thumb['size_h']);
 
 # Guardar imagen
 if($this->thumb['type']=='jpg' || $this->thumb['type']=='jpeg') {
 
 # Guarda imagen jpeg
 imageJPEG($this->thumb['destino'],"$path",$this->thumb["quality"]);
 
 }elseif($this->thumb['type']=='png'){
 
 # Guarda imagen png
 imagePNG($this->thumb['destino'],"$path");
 
 }elseif($this->thumb['type']=='gif'){
 
 # Guarda gif
 imageGIF($this->thumb['destino'],"$path");
 
 }elseif($this->thumb['type']=='wbmp'){
 
 # Guarda wbmp
 imageWBMP($this->thumb['destino'],"$path");
 
 }
 
 
 
 }
 
 }
 
 ?>
 
 
 
 
 
 
 
 
 
 la forma de uso
 --------------------------
 # Thumbnails
 $Thumb = new Thumbnails('archivos/'.$File);
 $Thumb->width(250)->generate('archivos/thumb/'.$File);
 
 
 Me retorna que no se puede guardar la imagen en esa locacion :v osea que no se puede guardar :/
     |