Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/01/2008, 15:02
nngg
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
Re: Modificar un script para renombrar un archivo

(Gracias Edwwinpaz, epro el server no usa PHP 5 sino 4.4, asi que no me servirá.)

Jcarrascal: algo no funciona porque no renombra el archivo creado. Por si el error estuviera fuera de la funcion, coloco lo que está en el script general y la funcion. Devuelve en pantalla que la imagen se creo con el nuevo nombre, pero la guarda con el nombre de origen, no con el de $nombre generado:

Código PHP:
$nombre=rand(1000000,9999999); //nombre al azar para renombrar la imagen.

$ruta "../fotos_gr/".$_FILES['imagen']['name'];// ruta para subir la foto cruda 

        
copy ($_FILES['imagen']['tmp_name'],$ruta); 
        
        
/****************************************
                    funcion resize
        /****************************************/
                    
        
function thumbjpeg($imagen,$altura,$nombre) {  
    global 
$nombre;
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".  
     
$dir_thumb "";  
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",  
     // el thumbnail se llamaría "tn_imagen1.jpg"  
     
$prefijo_thumb "tn_";  

     
// Aquí tendremos el nombre de la imagen.  
     //$nombre=basename($imagen);  
     // Aquí la ruta especificada para buscar la imagen.  
     
$camino=dirname($imagen)."/";  

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente.  
     
if (!file_exists($camino.$dir_thumb))  
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);  

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente  
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {  
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existia<br>\n";  
          
$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");  

          
// miramos el tamaño de la imagen original...  
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");  

          
// intentamos escalar la imagen original a la medida que nos interesa  
          
$ratio = ($datos[1] / $altura);  
          
$anchura round($datos[0] / $ratio);  

          
// esta será la nueva imagen reescalada  
          
$thumb imagecreatetruecolor($anchura,$altura);  

          
// con esta función la reescalamos  
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);  

          
// voilà la salvamos con el nombre y en el lugar que nos interesa.  
          
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);  
     }  
    }  
        
/****************************************
                   FIN funcion 
        /****************************************/    
    
thumbjpeg($ruta200$nombre);