php+ajax無刷新上傳圖片的實作方法

墨辰丷
發布: 2023-03-28 11:54:02
原創
1380 人瀏覽過

這篇文章主要介紹了php ajax無刷新上傳圖片的實作方法,涉及php結合ajax進行文件傳輸操作相關技巧,需要的朋友可以參考下

具體如下:

1.引入檔案

<!--图片上传begin-->
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/uploadImg.js"></script>
<link href="/css/uploadImg.css" rel="stylesheet" type="text/css" />
<!--图片上传end-->
登入後複製

2.html部分

<p class="upimg">
<input name="icon" type="text" class="imgsrc" value="<!--{$contents.icon}-->" />
<p class="showimg">
<!--{if $contents.icon}-->
<img src="<!--{$contents.icon}-->" height="120px">
<!--{/if}-->
</p>
<p class="btn" style="height:20px;">
  <span>添加图片</span>
  <input class="fileupload" type="file" name="pic[]">
</p>
</p>
登入後複製

3.給fileupload加上表單

/*图片上传*/
$(".fileupload").wrap("<form action=&#39;/bookstore/book/uploadpic&#39; method=&#39;post&#39; enctype=&#39;multipart/form-data&#39;></form>"); //函数处理
登入後複製

4.ajax檔案上傳

jQuery(function ($) {
  $(".fileupload").change(function(){ //选择文件
    if (&#39;&#39; === $(this).val()) return;
    var upimg = $(this).parent().parent().parent();
    var showimg = upimg.find(&#39;.showimg&#39;);
    var btn = upimg.find(&#39;.btn span&#39;);
    var imgsrc = upimg.find(&#39;.imgsrc&#39;);
    $(this).parent().ajaxSubmit({
      //dataType: &#39;json&#39;, //数据格式为json
      beforeSend: function() { //开始上传
        showimg.empty(); //清空显示的图片
        imgsrc.val("");
        btn.html("上传中..."); //上传按钮显示上传中
      },
      uploadProgress: function(event, position, total, percentComplete) {
      },
      success: function(data) { //成功
        //获得后台返回的json数据,显示文件名,大小,以及删除按钮
        var img = data;
        //显示上传后的图片
        imgsrc.val("");
        imgsrc.val(img);
        showimg.html("<img width=&#39;120&#39; height=&#39;120&#39; src=&#39;"+img+"&#39;>");
        btn.html("上传成功"); //上传按钮还原
      },
      error:function(xhr){ //上传失败
        btn.html("上传失败");
      }
    });
  });
});
登入後複製

5.後台進行處理

public function uploadpicAction(){ //图片上传和显示
    $data = "";
    $src = $this->uploadFiles2($imgpath = "/upload/book" ,$filesname = "pic");
    isset($src[0][&#39;src&#39;]) && $src[0][&#39;src&#39;] ? $data = $this->concaturl($src[0][&#39;src&#39;]) : null;
    echo $data;
}
登入後複製

6.將傳回的資料交給前端,進行一些處理。

進而提交到後台資料庫。

以上就是本文的全部內容,希望對大家的學習有幫助。


相關推薦:

thinkPHP實作的驗證碼登入功能

Thinkphp中的volist標籤用法

thinkPHP5實作的查詢資料庫並傳回json資料實例

#

以上是php+ajax無刷新上傳圖片的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板