Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/09/2010, 07:47
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Crear Thumbnails o miniaturas de imagenes desde PHP

Hola, he recibido bastante ayuda con respecto a crear THUMBS desde una imagen X.. el tema es el siguiente, varias funciones vistas me crean un tremendo caos, si alguien con experiencia me ayuda se lo agadeceré.

bueno, tengo esto que MUEVE UNA IMAGEN A LA CARPETA DEL SERVER ... GUARDAR LA URL DE LA IMAGEN EN LA BD ... GUARDA LA URL DEL POSIBLE THUMB EN LA BD..

Peeero, no crea el Thumb en si.. alguien podria indicarme el porque, debido a que no me sale ningun error:

PHP QUE RECIBE EL ARREGLO DE IMAGENES:
Código PHP:
<?php
//include("../admin-fausto/inc_validar_usuario.php");

include('../co/conectame.php');

include(
'../co/dimensionar.php');
    

                
                 
   
//Preguntamos si nuetro arreglo 'archivos' fue definido
         
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++){
             
             
//inserto los textos en la base de datos
             
$sql "INSERT INTO galeria_arte (big, small) VALUES (";    
                                                    
            if(
is_uploaded_file($_FILES["archivos"]["tmp_name"][$i])){
         
//con el indice $i, podremos obtener la propiedad que desemos de cada archivo
         //para trabajar con este como si fuera un array continuo
            
$tmp_name $_FILES["archivos"]["tmp_name"][$i];
            
$name $_FILES["archivos"]["name"][$i];
            
$tamano $_FILES["archivos"]["size"][$i];
            
$tipo $_FILES["archivos"]["type"][$i]; 
            
            
                    if (!((
strpos($tipo"gif") || strpos($tipo"png")|| strpos($tipo"jpeg")) && ($tamano 500000))) {
                    echo 
'<div style="width:500px; height:80px; padding:10px; background-color:#FF0000;">';
                    echo 
'<p style="font-size:15px; color:#FFF;"><strong>ERROR DE FORMATO O TAMANHO</strong></p></div>';
                    
                    }else{

                            
/* Guardar el archivo */
                            
$destino="../galerias/fotos/";

                            
                            
//llamo a la funcion de crear THUMBS
                             
image_gd($name);
                             
                            
//thumbjpeg($name,47);
                            
if(move_uploaded_file($_FILES["archivos"]["tmp_name"][$i],$destino.$name)){
                            
                                
$sql.= "'".$name."', 'thur_".$name."'";
                        }
//if move_uploaded_file
                        
                    
}//else
                    
                
}//if is_uploaded_file
                
                
$sql.=")"//cierro mi consulta $sql
                 
mysql_query($sql,$fausto_conn) or die(mysql_error($fausto_conn)); 
            }
//for
            
        
      
//if

          
     
?>
FUNCION IMAGE_GD:
Código PHP:
<?php

//Autor: Víctor Simental
//http://port21.com.mx
 

 
 
function image_gd($name)
{
//Separamos las extenciones de archivos para definir el tipo de ext.
    
$extension explode(".",$name);
    
$ext count($extension)-1;
    
    
//Determinamos las extenciones permitidas.
        
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
        {
            
$image imagecreatefromjpeg($name);
        }
        else if(
$extension[$ext] == "gif"){
            
$image imagecreatefromgif($name);
        }
        else if(
$extension[$ext] == "png"){
            
$image imagecreatefrompng($name);
        }
        else
        {
            echo 
"Error, extencion no permitida";
            die();
        }
 
    
$thumb_name substr($name,0,-5);//nombre del thumbnail
    
$width  imagesx($image);//ancho
    
$height imagesy($image);//alto
 
    
$nueva_anchura  70// Definimos el tamaño a 70 px
    
$nueva_altura = ($nueva_anchura $height) / $width // tamaño proporcional
 
        
if (function_exists("imagecreatetruecolor"))
        {
           
$thumb imagecreatetruecolor($nueva_anchura$nueva_altura);//Color Real
        
}
        
//En caso de no encontrar la funcion, la saca en calidad media
        
elseif (!$thumb){
            
$thumb imagecreate($nueva_anchura$nueva_altura);
        }
 
    
imagecopyresized($thumb$image0000$nueva_anchura$nueva_altura$width$height);
    
header("Content-type: image/jpeg");
    
imagejpeg($thumb"t_".$thumb_name.".jpg"80);
    
imagedestroy($image);
 
return 
$image;
?>
No me da ningun error, creo que esta correcto el SCRIPT que lo quite de los Tutos de FDW, pero no me genera el THUMB.. alguna ayudita por favor..

Tambien probe con imagecopyresampled pero igual, no es la version de GD...

Gracias
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 27/09/2010 a las 07:56