Foros del Web » Programando para Internet » PHP »

Cambiar de nombre al subir un archivo

Estas en el tema de Cambiar de nombre al subir un archivo en el foro de PHP en Foros del Web. Hola todos tengo este codigo que estoy adaptando a mi pagina lo que hace es subir una imagen a una carpeta en mi server Funciona ...
  #1 (permalink)  
Antiguo 08/05/2007, 09:54
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Cambiar de nombre al subir un archivo

Hola todos

tengo este codigo que estoy adaptando a mi pagina

lo que hace es subir una imagen a una carpeta en mi server

Funciona bien .
LO unico que quiero hacer es que el nombre del archivo guardado sea el valor que tenga una variable $nombre

este es el codigo

// Validar que el type. Should be jpeg, jpg, or gif.
$allowed = array ('image/gif', 'image/jpeg', 'image/jpg', 'image/pjpeg');
if (in_array($_FILES['upload']['type'], $allowed)) {
// Subir el archivo.
if (move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/{$_FILES['upload']['name']}")) {echo '<p>The file has been uploaded!</p>';}


gracias
  #2 (permalink)  
Antiguo 08/05/2007, 10:10
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Re: Cambiar de nombre al subir un archivo

if (move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/$nombre"))
  #3 (permalink)  
Antiguo 08/05/2007, 10:57
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Re: Cambiar de nombre al subir un archivo

funciona..

pero el problema es que lo guarda sin extension.
si el archivo que subo es imagen.jpg

y le doy valor:

$nombre = foto

lo guarda como foto sin ninguna extension

Como haria para que lo guarde con la extension que tiene el archivo ??
  #4 (permalink)  
Antiguo 08/05/2007, 11:18
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Re: Cambiar de nombre al subir un archivo

Puedes dividir la cadena donde esta el nombre del archivo usando explode, luego usando count tomas el ultimo elemento del array creado con explode, y se lo agregas a la variable $nombre
  #5 (permalink)  
Antiguo 08/05/2007, 11:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Re: Cambiar de nombre al subir un archivo

$ext=substr($_FILES['upload']['name'],-3);
$nombre="foto".$ext;

if (move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/$nombre"))
  #6 (permalink)  
Antiguo 08/05/2007, 11:44
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Re: Cambiar de nombre al subir un archivo

Cita:
Iniciado por claudiovega Ver Mensaje
$ext=substr($_FILES['upload']['name'],-3);
$nombre="foto".$ext;

if (move_uploaded_file($_FILES['upload']['tmp_name'], "uploads/$nombre"))
Claro que, en caso de que el archivo tenga una extension como ".jpeg", ese codigo no sirve.
  #7 (permalink)  
Antiguo 08/05/2007, 11:58
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Re: Cambiar de nombre al subir un archivo

Porque no lees un poco de substr, igual te sirva mejor en casos que tengas extensiones de 4 o hasta 5 carácteres: http://www.php.net/substr
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 00:39.