Foros del Web » Programando para Internet » PHP »

Copiar un documento en una carpeta PHP y AJAX

Estas en el tema de Copiar un documento en una carpeta PHP y AJAX en el foro de PHP en Foros del Web. Buenos días. Estoy intentado crear una pequeña aplicación que permita subir un archivo a una carpeta determinada, pero no hay forma de que haga nada ...
  #1 (permalink)  
Antiguo 17/02/2015, 05:25
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Copiar un documento en una carpeta PHP y AJAX

Buenos días.

Estoy intentado crear una pequeña aplicación que permita subir un archivo a una carpeta determinada, pero no hay forma de que haga nada y no se ya en que me estoy confundiendo. Muchas gracias

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {
$(".messages").hide();
//queremos que esta variable sea global
var fileExtension = "";
//función que observa los cambios del campo file y obtiene información
$(':file').change(function()
{

var archivos = new FormData($("#Documentos")[0]);
//obtenemos un array con los datos del archivo
var file = $("#documento")[0].files[0];
//obtenemos el nombre del archivo
var fileName = file.name;
//obtenemos la extensión del archivo
fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1);
//obtenemos el tamaño del archivo
var fileSize = file.size;
//obtenemos el tipo de archivo image/png ejemplo
var fileType = file.type;
//mensaje con la información del archivo
alert (fileName);
showMessage("<span class='info'>Archivo para subir: "+fileName+", peso total: "+fileSize+" bytes.</span>");
});
alert('Inicio');$('#SubirArchivo_btn').click(funct ion(){







//información del formulario
var archivos = new FormData($('#Documentos')[0]);

//var formData = new FormData($(".formulario")[0]);
var message = "";
alert('Enviando fichero...');
//hacemos la petición ajax
var url = "GuardarPHP.php";
$.ajax({
//Url a donde la enviaremos
url:url,
type:'POST', //Metodo que usaremos
contentType:false, //Debe estar en false para que pase el objeto sin procesar
data:archivos, //Le pasamos el objeto que creamos con los archivos
processData:false, //Debe estar en false para que JQuery no procese los datos a enviar
cache:false, //Para que el formulario no guarde cache
success: function() {
alert('El envío fue satisfactorio');
}

}).done(function(respuesta){
alert(respuesta.mensaje);
});






});
});
</script>
<title>Documento sin título</title>
</head>

<body>
<form id="Documentos" method="post" enctype="multipart/form-data">
<input type="file" name="documento" id="documento" />
<input id="SubirArchivo_btn" value="Enviar" type="button" />

</form>

</body>
</html>

Código PHP:
<?php

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
    
    
$Destino 'documento/';
    
$Documento =$Destino.basename($_FILES["documento"]['name']);
    
copy($_FILES['documento']['tmp_name'],$Documento);    
      if (
$Documento && move_uploaded_file($_FILES['documento']['tmp_name'],"documentos/".$Documento))
    {
       
sleep(3);//retrasamos la petición 3 segundos
       
echo $Documento;//devolvemos el nombre del archivo para pintar la imagen
    
}
}else{
    throw new 
Exception("Error Processing Request"1);  

    
}

?>
  #2 (permalink)  
Antiguo 17/02/2015, 09:46
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Copiar un documento en una carpeta PHP y AJAX

Primero que nada revisa la documentación de php que trata este tema: http://php.net/manual/en/features.file-upload.php. Lo segundo es que te cerciores que tu script funciona correctamente sin ajax.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 17/02/2015, 09:59
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Copiar un documento en una carpeta PHP y AJAX

Lo primero que hice fue sin Ajax y funcionaba correctamente donde me da los problemas es con el Ajax. Gracias
  #4 (permalink)  
Antiguo 17/02/2015, 10:28
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Copiar un documento en una carpeta PHP y AJAX

Si el asunto es con ajax estas en el foro equivocado. Te recomiendo hacer la pregunta en el de JavaScript
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 17/02/2015, 12:44
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Copiar un documento en una carpeta PHP y AJAX

¿Hay alguna forma en la que podría llevar este tema al foro de Ajax?, para así no repetirlo. Gracias

Etiquetas: ajax, carpeta, formulario, html, variable
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 15:40.