如何运用PHP Ajax实现图片的无刷新上传

 我来答
jack_wang0823
2016-12-05 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1446万
展开全部
    <meta charset="utf-8" >  
        <form id= "uploadForm">    
              <p >指定文件名: <input type="text" name="filename" value= ""/></p >    
               <p>  
                 上传文件:   
                 <input type="file" name="photo" onchange="showPreview(this)" class="file" />  
                 <img id="portrait" src="" width="70" height="75">  
              </p>    
              <input type="button" value="上传" onclick="doUpload()" />    
        </form>    
        <script src="http://www.haoyunyun.cn/jquery.js"></script>  
        <script>  
        function doUpload() {    
             var formData = new FormData($( "#uploadForm" )[0]);    
             $.ajax({    
                  url: 'submit.php' ,    
                  type: 'POST',    
                  data: formData,    
                  async: false,    
                  cache: false,    
                  contentType: false,    
                  processData: false,    
                  success: function (returndata) {    
                      alert(returndata);    
                  },    
     error: function (returndata) {    
                      alert(returndata);    
                  }    
             });    
        }    
        </script>  
        <script type="text/javascript">  
        function showPreview(source) {  
            var file = source.files[0];  
            if (window.FileReader) {  
                var fr = new FileReader();  
                fr.onloadend = function(e) {  
                    document.getElementById("portrait").src = e.target.result;  
                };  
                fr.readAsDataURL(file);  
            }  
        }  
      </script>
<?php  
    if($_FILES['photo']['error']>0){  
        echo "上传文件失败";  
        die;  
    }  
    $dir='./photo/';  
    $type=substr($_FILES['photo']['name'],strrpos($_FILES['photo']['name'],'.'));  
    $filename=time().rand(1000,9999).$type;  
    if(is_uploaded_file($_FILES['photo']['tmp_name'])){  
        move_uploaded_file($_FILES['photo']['tmp_name'],$dir.$filename);  
        echo "上传成功";  
    }else{  
        echo "上传文件失败";  
    }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式