Foros del Web » Programando para Internet » PHP »

Renombrar upload file

Estas en el tema de Renombrar upload file en el foro de PHP en Foros del Web. Buenos días, estoy haciendo una función para subir archivos al servidor mediante Ajax y me gustaría poderle cambiar el nombre que tenía en un origen. ...
  #1 (permalink)  
Antiguo 02/10/2013, 01:58
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Renombrar upload file

Buenos días,

estoy haciendo una función para subir archivos al servidor mediante Ajax y me gustaría poderle cambiar el nombre que tenía en un origen.

La función que uso es la siguiente:

Código HTML:

function uploadMultipleFiles(files,tamano_maximo){

  limit=1048576*tamano_maximo;
  xhr = null;
  resultado = false;

  if(files[0] != undefined ){

    tamano_file=files.length;

    for(i=0;i<tamano_file;i++){
      
      var current_file = files[i];

      current_file.name = "pepito.jpg"; //<-- aquí intento forzar el nombre que yo quiera
      alert(current_file.name);

      if(current_file.size < limit){
        subirArchivoServidor(current_file,xhr,'upload.php');        
        resultado = true;
      }
      else{
        resultado = false;
        break;
      }
    }

  }

  return resultado;
}



Estoy intentando forzar esto, para que la imagen se llame "pepito.jpg":


Código HTML:
current_file.name = "pepito.jpg";
alert(current_file.name);

Pero no funciona, en el alert me aparece el nombre de la imagen que tiene en mi pc la cual estoy subiendo.
  #2 (permalink)  
Antiguo 02/10/2013, 02:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Renombrar upload file

Hola:

Aún sin saber que hace el método "subirArchivoServidor", desde javascript no se puede cambiar el nombre, solo se puede enviar ese nombre para que la parte php de ajax lo pueda hacer.

Si quieres podemos mover el tema...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/10/2013, 02:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Renombrar upload file

Era esa mi duda. Si puedes mover el tema a PHP, la función par subir al servidor hace lo siguiente:



Código HTML:
function subirArchivoServidor(current_file,xhr,destino_php){

  xhr = new XMLHttpRequest();
  xhr.upload.addEventListener('error',function(e){
    alert('Ha habido un error cargando el archivo ');
    return false;
  }, false);

  xhr.open('POST',destino_php);

  xhr.setRequestHeader("Cache-Control", "no-cache");
  xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  xhr.setRequestHeader("X-File-Name", current_file.name);

  xhr.send(current_file);

}


y el archivo php del servidor hace esto:


Código PHP:
if (array_key_exists('HTTP_X_FILE_NAME'$_SERVER) && array_key_exists('CONTENT_LENGTH'$_SERVER)) {
    
$fileName $_SERVER['HTTP_X_FILE_NAME'];
    
$contentLength $_SERVER['CONTENT_LENGTH'];

else throw new 
Exception("Error retrieving headers");

$path 'uploads/';

if (!
$contentLength 0) {
    throw new 
Exception('No file uploaded!');
}

file_put_contents(
    
$path $fileName,
    
file_get_contents("php://input")
);

chmod($path.$fileName0777); 

Entiendo que haciendo $filename="pepito.jpg" se cambiará el nombre y se guardará tal cual en el servidor.

Ahora mi pregunta es:



Como le paso el nuevo nombre del archivo "pepito.jpg" a la función anterior para poderla usar en javascript ?

Gracias

Saludos

Etiquetas: ajax, file, funcion, javascript, renombrar, upload
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 03:09.