Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/12/2012, 08:33
ruben1984
 
Fecha de Ingreso: marzo-2012
Mensajes: 18
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Crear Thumbnails o miniaturas de imagenes desde PHP

Cita:
Iniciado por loncho_rojas Ver Mensaje
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
lo conseguistes al final???
ando yo en algo parecido pero por mas k leo aki cosas en el foro no consigo entender nada...