Código:
Y luego el php<script language="javascript" src="js/jquery-1.3.min.js"></script> <script language="javascript"> $(document).ready(function() { $().ajaxStart(function() { $('#loading').show(); $('#result').hide(); }).ajaxStop(function() { $('#loading').hide(); $('#result').fadeIn('slow'); }); $('#form, #fat, #fo3').submit(function() { $.ajax({ type: 'POST', url: $(this).attr('action'), data: $(this).serialize(), success: function(data) { $('#result').html(data); } }) return false; }); }) </script> <form action="change_avatar.php" id="fo3" method="post" enctype="multipart/form-data"> <input name="archivo" type="file" class="casilla" id="archivo" size="35" /> <input name="enviar" type="submit" class="boton" id="enviar" value="Upload File" /> </form> <div id="result"></div>
Código PHP:
<?php
if ($_POST["enviar"]) {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "avatars/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
echo $destino;
} else {
echo "Error al subir el archivo";
}
} else {
echo "Error al subir archivo";
}
}
?>
Funciona si no uso el ajax, pero si lo uso ya no lo envia, ¿por qué?