Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2008, 15:41
cher1_7
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 9
como reducir tamano de imagenes con php

tengo este script en php para subir imagenes a mi web, pero lo que quiero es que al subir una imagen la suba de una cierta medida por ejemplo tengo unas fotos que miden 1024 x 768 pero quiero que al subirlas me las reduzca a 600 x 400 como le puedo hacer ya me enfade de reducir cada una en photo shop
gracias de antemano...


Código PHP:

<?php  
$status 
""
$carpeta="../Amri/"
if (isset(
$_POST["enviar"])) { 
    
// obtenemos los datos del archivo  
    
$tamano $_FILES["archivo"]['size']; 
    
$tipo $_FILES["archivo"]['type']; 
    
$archivo $_FILES["archivo"]['name'];//nombre fuente 
    
$prefijo substr(md5(uniqid(rand())),0,6); 
     
    
$extension explode(".",$archivo); 
    
$num count($extension)-1
    
$nombre=basename($archivo,".".$extension[$num]);//nombre base del archivo 
    
$imagen=$nombre."_".$prefijo.".".$extension[$num];//nombre real de la imagen 
    
if ($archivo != "") { 
        
$ext=strtolower($extension[$num]); 
        if(
$ext=='jpg' or $ext=='png' or $ext=='bmp'){//depende de que deseas que suban.... 
            
$destino =  $carpeta.$imagen;//lugar donde se almacenara 
            
if (copy($_FILES['archivo']['tmp_name'],$destino)){ 
                
$status "Archivo subido: <b>".$imagen."</b>"
            } else { 
                
$status "Error: No se logro subir el archivo"
            } 
        } else { 
                
$status "Error: Solo se permiten (*.jpg,*.png,*.bmp)"
        } 
    } else { 
        
$status "Error: Archivo no encontrada para subir al Servidor"
    } 

?> 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>:::Subir fotos:::</title>
<script language="javascript"> 
var XMLRequest;     
var XMLRequest2;     
function getHTTPObject() { 
    var xmlhttp; 
    if(window.XMLHttpRequest){ 
        xmlhttp = new XMLHttpRequest(); 
    }else if (window.ActiveXObject){ 
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    return xmlhttp; 


function elimina(ar,txt){ 
    XMLRequest2=getHTTPObject(); 
    var url="eliminar.php?ar="+ar;//habre la pagina y elimina el archivo enviado 
    XMLRequest2.open("GET",url,true); 
    XMLRequest2.send(null); 
    self.location = "upload.php?"; 

</script> 
<link href="estilo.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    left:531px;
    top:89px;
    width:127px;
    height:50px;
    z-index:1;
}
#Layer2 {
    position:absolute;
    left:281px;
    top:192px;
    width:396px;
    height:62px;
    z-index:1;
}
#Layer3 {
    position:absolute;
    left:331px;
    top:307px;
    width:70px;
    height:14px;
    z-index:2;
}
#Layer4 {
    position:absolute;
    left:97px;
    top:49px;
    width:259px;
    height:31px;
    z-index:3;
}
#Layer5 {
    position:absolute;
    left:165px;
    top:160px;
    width:115px;
    height:16px;
    z-index:4;
}
#Layer6 {
    position:absolute;
    left:527px;
    top:217px;
    width:361px;
    height:53px;
    z-index:5;
}
#Layer7 {
    position:absolute;
    left:507px;
    top:295px;
    width:234px;
    height:65px;
    z-index:6;
}
#Layer8 {
    position:absolute;
    left:516px;
    top:187px;
    width:141px;
    height:52px;
    z-index:5;
}
-->
</style>
</head>
<body background="imagenes/amri.jpg">
<div id="Layer5"><a href="../index.php" target="_blank"><strong>Visita la Galeria </strong></a></div>
<div id="Layer2">
  <table width="413" border="0" cellspacing="0" cellpadding="0" align="center"> 
  <tr> 
    <td width="413" height="40" class="titulo"><div align="center">Sube Imagenes de Amri y Carlo </div></td> 
  </tr> 
  <tr> 
    <td class="text">Por favor selecciona la imagen a Guardar:</td> 
  </tr> 
  <tr> 
      <td class="text"> 
    <form action="index.php" method="post" enctype="multipart/form-data" > 
        <input name="archivo" type="file" class="casilla" id="archivo" size="35" /> 
          <input name="enviar" type="submit" class="boton" id="enviar" value="Guardar" /> 
    </form> 
    </td> 
  </tr> 
  <tr> 
    <td class="text" style="color:#990000"><?php echo $status?></td> 
  </tr> 
  <tr> 
    <td height="30" class="subtitulo">Listado de Imagenes Guardadas </td> 
  </tr> 
  <tr> 
    <td class="infsub"><br /> 
    <?php 
    
if ($gestor opendir($carpeta)) {         
        while (
false !== ($arch readdir($gestor))){ 
            if (
$arch != "." && $arch != "..") { 
                
$extension explode(".",$arch); 
                
$num count($extension)-1
                
$ext=strtolower($extension[$num]); 
                if(
$ext=='jpg' or $ext=='png' or $ext=='bmp'){ $archivos[]=$arch; } 
            } 
        } 
        
closedir($gestor); 
        
// Ordenas tu array: 
        
sort($archivos);  
        
// (y mueves el puntero interno del array al principio ..) 
        
reset($archivos); 
         
        
$i=0
        echo 
'<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">'
        foreach (
$archivos as $arch){ 
            
$im=getimagesize($carpeta.$arch); 
            
$an=$im[0]; $al=$im[1]; 
            (
$i%2==0)?$color="#CCCCCC":$color="#999999"
            echo 
"<tr style='background:$color'><td width='300' align='left'><li><a href=\"../Amri/".$arch."\" class=\"linkli\">".$arch."</a></li>\n"
           
            echo 
"<td width='40' align='center'><a href='index.php' onClick='elimina(\"".$arch."\",\"".$txt."\");' class=\"abrir\"><img src='imagenes/eliminar.png' width='20' height='20' title='Eliminar' alt='Eliminar' border='0'/></a></td><td width='20'></td></tr>"
            
$i++; 
        } 
        echo 
"</table>"
    } 
    
?> 
    </td> 
  </tr> 
</table>
</div>
</body>
</html>