Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2005, 13:32
kavalerian
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
script imagenes incompleto

Hola a todos, una vez mas acudo a vosotros con una duda.
Un amigo me envio un script muy interesante que subia una imagen a una carpeta despues se copiaba ella misma y se rellamaba como "nombre_small", "nombre_medium" y "nombre_big", una vez echo esta la original se eliminaba automaticamente y se quedaban estas tres en la carpeta del servidor para poder trabajar mas rapidamente, asi dependiendo de donde estuvieramos de nuestra pagina web se mostraba una imagen pequeña, una mediana o una grande con la consiguiente mejora en la velocidad de descarga de la pagina ya que cada imagen ocupaba un tamaño.
El problema es que cuando estabamos en el trabajo el script funcionaba perfectamente, pero ahora los dos hemos cambiado de empresa y a mi no me funciona dicho script, y tampoco puedo localizar a mi amigo. Asi que os dejo bajo el script para ver si alguien ve la solucion. Hasta ahora sube la imagen original pero a la hora de llamar a la funcion que hace que se modifique el tamaño y se vuelva a copiar no funciona.
Código PHP:
<?
//funcion para copiar y minimizar foto
function copyimag($id,$prefijo,$ruta,$size){ 
    
//list toma los valores del array generado por getimage
    
list($width$height$value$params) = getimagesize($ruta.$id."_ini.jpg");
    
//creo foto reducida
    
if($size<$height){
        
$new_width  =  intval(($size*$width)/$height);
        
$new_height  $size;
        
//limito si acho a 150 de alto es mayor a 200
        
if($new_width>200 and $size==150){
            
$new_width  200;
            }
        
//codigo para crear la nueva imagen
        
$newImage imagecreatetruecolor($new_width$new_height);
        
$cpyImage imagecreatefromjpeg($ruta.$id."_ini.jpg");
        
imagecopyresized($newImage$cpyImage0000$new_width$new_height$width$height);  
        
imagejpeg($newImage,$ruta.$id."_".$prefijo.".jpg");
    }else{
        
copy($ruta.$id."_ini.jpg",$ruta.$id."_".$prefijo.".jpg");
    }
}
//Empezamos con el tratamiento de imagenes
    //Empezamos la primera imagen    
            
if($_FILES['nueva_imagen']['name']!=""){
                
//Dirección donde voy a subir 
                
$folder="../imagenes/";
                
//
                
$archivo $_FILES['nueva_imagen'];
                
$archivo_name=$_FILES['nueva_imagen']['name'];
                
$archivo_size=$_FILES['nueva_imagen']['size'];
                
$archivo_type=$_FILES['nueva_imagen']['type'];
                
$archivo_tmp=$_FILES['nueva_imagen']['tmp_name'];
                
//esto lo hago porque asi saco el nombre tal cual, sin extensiones
                
$long=strlen($archivo_name);
                
$archivo_name=substr($archivo_name0$long-4);
                
//
                
move_uploaded_file($archivo_tmp,$folder.$archivo_name."_ini.jpg")or die("problemas uploading imagen");

////////////////////////////A partir de aqui es donde no funciona////////////////

                //redimensiono si es muy grande
                
copyimag($archivo_name,"big",$folder,"440");
                
//mediana
                
copyimag($archivo_name,"medium",$folder,"150");
                
//pequeña
                
copyimag($archivo_name,"small",$folder,"47");
            }
    
//Ahora eliminamos la imagen original
    
if (isset($archivo_name))
                
unlink("../imagenes/".$archivo_name."_ini.jpg");        

?>
<form name="form1" method="post" action="<? echo $PHP_SELF?>" enctype="multipart/form-data">
      <input type="file" name="nueva_imagen">
<input name="enviar" type="submit" value="enviar">
    </form>
Bueno si habeis llegado hasta aqui leyendo solo me queda daros las gracias, y ojalá a alguien se le ocurra por que no funciona y lo comente.
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas