Foros del Web » Programando para Internet » PHP »

Cambiar nombre de archivo que subo al servidor

Estas en el tema de Cambiar nombre de archivo que subo al servidor en el foro de PHP en Foros del Web. Hola a todos: Vereis, tengo programado en php un código para subir archivos al servidor y guardar su nombre en una base de datos. Esto ...
  #1 (permalink)  
Antiguo 19/06/2012, 15:29
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Cambiar nombre de archivo que subo al servidor

Hola a todos:

Vereis, tengo programado en php un código para subir archivos al servidor y guardar su nombre en una base de datos. Esto lo hace correctamente.

El problema sucede cuando hay dos archivos en la carpeta que tienen el mismo nombre. Por este motivo, quiero cambiar los nombres antes de subirlos para guardar el dato del nombre del archivo subido correctamente en la base de datos.

La variable que utilizo en el formulario para recoger el archivo es $archivo1. También sé que el nombre del archivo temporal es $_FILES [ 'archivo1' ][ 'tmp_name' ] y lo guardo en una carpeta que llamo "subidas" de esta forma:
Código PHP:
move_uploaded_file $_FILES 'archivo1' ][ 'tmp_name' ], "subidas/".$archivo1); 
...para renombrar archivos se que se utiliza rename.

He leido el manual de php http://php.net/manual/es/function.rename.php pero no se cómo utilizarlo. Os agradecería que me orientarais.

Muchas gracias
  #2 (permalink)  
Antiguo 19/06/2012, 15:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar nombre de archivo que subo al servidor

En realidad move_uploaded_file() funciona de forma similar a rename() o copy(), si el nombre del archivo a guardar es otro simplemente lo guarda bajo ese nombre.

La clásico es usar un valor al azar antes del nombre del archivo, con rand() podría funcionar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/06/2012, 15:59
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Cambiar nombre de archivo que subo al servidor

Hola pateketrueke:
Te comento, he probado esto para comprobar si me cambiaba el nombre del archivo añadiendole "noticia_":

Código PHP:
echo 'archivo 1 (original): '.$archivo1.'<br>';

     echo 
'tmp: '.$_FILES 'archivo1' ][ 'tmp_name' ].'<br>';
     echo 
'type: '.$_FILES 'archivo1' ][ 'type' ].'<br>';
     echo 
'size: '.$_FILES 'archivo1' ][ 'size' ].'<br>';
     echo 
'name: '.$_FILES 'archivo1' ][ 'name' ].'<br>';

     echo
'cambiando el nombre: <br>';
     
$archivo1='noticia_'.$archivo1;
     echo 
'nuevo nombre: '.$archivo1.'<br>';
     
    
move_uploaded_file $_FILES 'archivo1' ][ 'tmp_name' ], "archivos/".$archivo1); 
Pero el archivo no me sube. Cómo puedo resolverlo?
Muchas gracias
  #4 (permalink)  
Antiguo 19/06/2012, 16:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar nombre de archivo que subo al servidor

¿Puedes mostrar lo que te imprime el script que acabas de publicar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/06/2012, 16:10
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Cambiar nombre de archivo que subo al servidor

Perdón. Era un error mio, el código que escribí es correcto.

Muchas gracias.

Etiquetas: formulario, nombre, servidor, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:56.