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: 16 años, 2 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_thumb0777
                                    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.$name704780);
                                
//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...