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é?
 


