jQuery和php文件上传

时间:2012-12-20 20:03:00

标签: php jquery html

我不明白,谷歌也没有给我答案。我想上传一个文件,结果显示在div中没有​​页面重新发送,但我无法得到它!!!!

HTML:

<form method="post" action="process/pic2.php" enctype="multipart/form-data" id="userpic">
<p>Izvēlies bildi: <input type="file" name="img_to_upload" /><input type="submit" name="upload" value="Augšupielādēt" /></p>
</form>

jquery的:

jQuery(function(){
        jQuery('#userpic').submit(function(){
            jQuery.ajax({
                type: 'POST',
                enctype: 'multipart/form-data',
                url: jQuery('#userpic').attr('action'),
                data: jQuery('#userpic').serialize(),
                success: function(data){
                    if(data){
                        jQuery('#picinfo').html(data);
                    }else{
                        jQuery('#uerpic').fadeOut(500);
                        jQuery('#picinfo').html('<center><img src="img/loader.gif" /></center>');
                            window.location = 'index.php';
                    }
                }
            });
            return false;
        });
    });

和我的php:

if(isset($_FILES['img_to_upload']['name']) && !empty($_FILES['img_to_upload']['name'])){
        echo 'Done!';
    }else{
        echo 'Error!';
    }

一直显示“错误”文字..

P.S。抱歉英语不好。

1 个答案:

答案 0 :(得分:1)

通常,要进行表单提交,并保持在同一页面上,您必须使用Javascript阻止默认表单操作,如下所示:

$("#userpic").submit(function(event) {
  event.preventDefault();
  ...
});

但是,通过Ajax上传图像非常棘手 - 请参阅:

uploading files with jquery $.ajax and php