Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/09/2010, 15:48
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: 17 años, 11 meses
Puntos: 175
Respuesta: [APORTE] Cargar una o varias imagenes a la BD y generar un thumbnail o min

aca es identico al uploader.php.. solo comento algunos puntos como donde se crea la carpeta thumb


Cita:
Iniciado por loncho_rojas Ver Mensaje
uploader.php


Código PHP:
<?php


include('conexion.php');

function 
redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{ 
    
$img = imagecreatefromJPEG($img_original); 
    
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);  
    
imagecopyresampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img)); 
    
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    
ImageDestroy($img);
} 

    

                
                 
   
//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++){
             
                
                                                    
            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/";// carpeta del server donde se guardara

                               //creamos una carpeta llamada thumb dentro de $destino si es que no existiera
                            
$dir_thumb = "thumbs/";
                                if (!
file_exists($destino.$dir_thumb)){
                                    @
mkdir ($destino.$dir_thumb, 0777) 
                                    or die(
"No se ha podido crear el directorio ".$destino.$dir_thumb);
                                }
                            
                            
$destTHU= $destino.$dir_thumb;
                            
                            
                            if(
move_uploaded_file($_FILES["archivos"]["tmp_name"][$i],$destino.$name)){
                            
redimensionar_jpeg($destino.$name, $destTHU.$name, 70, 47, 80);
                                
//inserto los textos en la base de datos
                             
$sql = "INSERT INTO galeria_arte (big, small) 
                             VALUES ('"
.$name."', '".$name."')";
                                
                                
                                
                                
                        }
//if move_uploaded_file
                        
                    
}//else
                    
                
}//if is_uploaded_file
                
                //cierro mi consulta $sql
                 
mysql_query($sql,$fausto_conn) or die(mysql_error($fausto_conn)); 
            }
//for
            
        
      
} //if

          
     
?>
__________________
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...