程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php+ajax無刷新上傳圖片的實現方法

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

編輯:PHP綜合

本文實例講述了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部分

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

3.給fileupload加上表單

/*圖片上傳*/
$(".fileupload").wrap("<form action='/bookstore/book/uploadpic' method='post' enctype='multipart/form-data'></form>"); //函數處理

4.ajax文件上傳

jQuery(function ($) {
  $(".fileupload").change(function(){ //選擇文件
    if ('' === $(this).val()) return;
    var upimg = $(this).parent().parent().parent();
    var showimg = upimg.find('.showimg');
    var btn = upimg.find('.btn span');
    var imgsrc = upimg.find('.imgsrc');
    $(this).parent().ajaxSubmit({
      //dataType: 'json', //數據格式為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='120' height='120' src='"+img+"'>");
        btn.html("上傳成功"); //上傳按鈕還原
      },
      error:function(xhr){ //上傳失敗
        btn.html("上傳失敗");
      }
    });
  });
});

5.後台進行處理

public function uploadpicAction(){ //圖片上傳和顯示
    $data = "";
    $src = $this->uploadFiles2($imgpath = "/upload/book" ,$filesname = "pic");
    isset($src[0]['src']) && $src[0]['src'] ? $data = $this->concaturl($src[0]['src']) : null;
    echo $data;
}

6.將返回的數據交給前端,進行一些處理。

進而提交到後台數據庫。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP+ajax技巧與應用小結》、《php文件操作總結》、《PHP圖形與圖片操作技巧匯總》、《PHP網絡編程技巧總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved