Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2007, 15:43
Avatar de hgp147
hgp147
 
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 18 años
Puntos: 36
Upload de imagen con AJAX

Hola, trate de hacer un upload con AJAX+PHP, pero no me funciona. (No me sube la imagen). Siempre me muestra el mensaje (en el div "capa"): "Ocurrió algún error al subir el fichero".
Cuál puede ser problema?

Gracias!


upload.htm


Código HTML:
<html>
<head>
<script type="text/javascript" src="libreriaajax.js"></script>
</head>

<body>

<form  action="#" onsubmit="FAjax('procesa_upload','capa','archivo='+document.getElementById('archivo').value,'POST'); return false" enctype="multipart/form-data" method="post">

<input type=file name="archivo" id="archivo">
<input type="submit" value="Agregar" id="boton">

<div id="capa">

</div>

</form>

</body>
</html> 

libreriaajax.js


Código HTML:
/*
*Esta libreria es una libreria AJAX creada por Javier Mellado con la inestimable
*colaboracion de Beatriz Gonzalez.
*descargada del portal AJAX Hispano http://www.ajaxhispano.com
*contacto [email protected]
*
*Puede ser utilizada, pasada, modificada pero no olvides mantener 
*el espiritu del software libre y respeta GNU-GPL
*/

function creaAjax(){
  var objetoAjax=false;
  try {
   /*Para navegadores distintos a internet explorer*/
     objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
     /*Para explorer*/
     objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (E) {
     objetoAjax = false;
   }
  }

  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
   objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}



function FAjax (url,capa,valores,metodo)
{
   var ajax=creaAjax();
   var capaContenedora = document.getElementById(capa);
   var boton = document.getElementById('boton');

    ajax.open ('POST', url, true);
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    
    
 
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 
                 capaContenedora.innerHTML="Cargando.......";
                 boton.disabled=true;
         }
         else if (ajax.readyState==4){
                          
                 capaContenedora.innerHTML=ajax.responseText;
                 boton.disabled=false;
                 
                 }
                            

     
        }
    }

procesa_upload.php

Código PHP:
<?

$nombre_archivo 
$_FILES['archivo']['name'];

$tipo_archivo $_FILES['archivo']['type'];

$tamano_archivo $_FILES['archivo']['size'];


$extensiones = array("image/gif","image/jpeg","image/png");

// Mensajes de errores

if(!(in_array($tipo_archivo$extensiones)))

$error .= "Extensi&oacute;n no válida";

if (
$tamano_archivo 2097152)
    
$error .= "Supera los 2Mb";




if(!empty(
$error)){

echo 
$error;

}else{

if(
move_uploaded_file($_FILES['archivo']['tmp_name'], "../temp/$nombre_archivo")){

echo  
"Subió correctamente";

}else{

echo 
"Ocurrió algún error al subir el fichero";

}

}

?>