Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2004, 12:49
ale21ale
 
Fecha de Ingreso: noviembre-2003
Ubicación: mar del plata
Mensajes: 107
Antigüedad: 20 años, 5 meses
Puntos: 0
Mensaje reducir tamaño urgentee !

Tengo el siguiente caso :

Un upload de imagenes que sube la imagen a un directorio y aparte graba en una tabla el path , el id_foto y el id_auto (es el auto con la foto asignada)

el codigo de upload es el siguiente

archivo : fotos.php

Código PHP:
    
    
include ("fotos2.php"); 
    include (
"libreria_foto.php"); 
    
    
            if(
$nombre<>''){

                                                   
//llama al formulario que se encuentra
                                                   // en la libreria_foto
        
                
formulario_foto($nombre);
            
            } 
archivo : fotos2.php aca tengo el formulario

Código HTML:

<form method="post" enctype="multipart/form-data" action="enviar.php">
	<table width="50%" style="margin: auto;">
		<tr>
			<td colspan="2" style="width: 100%;"><b><?=$msg?></b></td>
		</tr>
		<tr class="genava">
			<td style="width: 45%;">NOMRE DEL ARCHIVO </td>
			<td style="width: 55%;"><input name="archivo" type="file" class="genava" size="20" /></td>
	  </tr>
		<tr class="genava">
			<td style="width: 45%;">&nbsp;</td>
			<td style="width: 55%;"><input type="submit" value="Enviar!" /></td>
	  </tr>
  </table>
</form> 

archivo enviar.php

Código PHP:

include("config.php");    

# Si la carpeta no existe la creamos y le aplicamos los permisos.
if(!file_exists($carpeta_archivos))
{
    
mkdir($carpeta_archivos);
    @
chmod($carpeta_archivos0777);
}

# Verificamos que este setiado el archivo.
if($_FILES['archivo'])
{
    
# Verificamos que su tamaño sea mejor que los bytes que as puesto en la configuración.
    
if((1000 $bytes_max) > $_FILES['archivo']['size'])
    {
        
# Seteamos las variables para mejor facilidad
        
$tmp $_FILES['archivo']['tmp_name'];
        
$name $_FILES['archivo']['name'];
        
$ahora $carpeta_archivos.'/'.$name;
        
        
        
# Movemos el archivo a la carpeta
        
move_uploaded_file($tmp$ahora);
        
        
# paso el nombre de la imagen para que la guarde en la tabla de la DB
        
header("Location: fotos.php?nombre=$name");
    }
    else
        
header("Location: index.php?errno=1&errmsg=Su archivo excede los ".$bytes_max."bytes.");
}
else
    
header("Location: index.php?errno=1&errmsg=No ah seleccionado ningun archivo."); 
archivo : libreria_foto.php

Código PHP:

require("link.php");
    
    function 
formulario_foto($nombre){
    
    global 
$ok_foto,$link,$id_auto,$id_foto,$base,$principal;
        
    
    if(
$ok_foto){
    
            if(
$link){
            
                if((
$id_foto<>'') AND ($id_auto<>'') AND ($nombre<>'')){                        
            
                    
$query="SELECT * from fotos WHERE id_foto = $id_foto";
                    
$result=mysql_db_query($base,$query,$link);
                    
                    
$row=mysql_fetch_row($result);                    
                    
                    if(
$row<>0){                    
                        
                        echo
'EL ID SE ENCUENTRA UTILIZADO EN EL SISTEMA. INTENTE CON OTRO';
                    
                    } else {
                    
                        
//SI ELIGO QUE SEA LA FOTO PRINCIPAL
                    
                        
if($principal==1){                        
                                            
$up="UPDATE autos SET id_foto=$id_foto WHERE id_auto=$id_auto";
                                            
                                            if(
mysql_db_query($base,$up,$link)){
                                            echo 
'';
                                            } else {
                                            
                                            echo 
'no se pudo generar como principal';
                                                                                        
                                            }                                                                
                        }
                        
                        
//FIN PRINCIPAL
                    
                        
$query="INSERT INTO fotos values ('$id_foto','$id_auto','$nombre')";
                        
                        if(
mysql_db_query ($base,$query,$link)){
                                        
                        echo 
'LA FOTO se ingresó exitosamente';                        
                        
                        
                        }            
                    
                    }
                    
                } else {
                
                    echo
'faltan datos';
                
                }            
            }    else {
            
                echo
'problemas de conexion';
            }
    } 
aca esta el formulario de libreria_foto.php

Código HTML:
<form name="form1" method="post" action="">
        <table width="338" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr class="genava">
            <td width="142">ID FOTO: </td>
            <td width="196"><input name="id_foto" type="text" id="id_foto"></td>
          </tr>
          <tr class="genava">
            <td>ID AUTO: </td>
            <td><input name="id_auto" type="text" id="id_auto"></td>
          </tr>
          <tr class="genava">
            <td>ARCHIVO:</td>
            <td><input name="path" type="text" id="path" value="<? print("$nombre"); ?>"></td>
          </tr>
          <tr class="genava">
            <td>&nbsp;</td>
            <td>agregar como foto principal?
            <input name="principal" type="checkbox" id="principal" value="1"></td>
          </tr>
          <tr class="genava">
            <td>&nbsp;</td>
            <td><input type="submit" name="Submit" value="agregar foto a auto">
            <input name="ok_foto" type="hidden" id="ok_foto" value="true"></td>
          </tr>
        </table>
      </form> 
LO QUE NECESITO ES LO SIGUIENTE : Cuando se envie la imagen , la guarde con una resolucion menor (con menos peso) para usarla como thumbnail.

Esto funciona perfectamente pero necesito que ocupe menos , ese es el principal problema .

Alguien me puede ayudar a reducir el tamaño en este codigo ?¿

muchas gracias .
__________________
Ale

Última edición por ale21ale; 30/08/2004 a las 12:55