首頁 >後端開發 >php教程 >php模板與js上傳外掛程式結合實現無刷新上傳的方法

php模板與js上傳外掛程式結合實現無刷新上傳的方法

墨辰丷
墨辰丷原創
2018-06-08 09:38:361621瀏覽

本篇文章主要介紹php範本與js上傳外掛程式結合實現無刷新上傳的方法,有興趣的朋友參考下,希望對大家有幫助。

範本檔案程式碼:

<!DOCTYPE html>
<html lang="cn">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link href="<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.css" rel="stylesheet" type="text/css" />
  <script src="<{$smarty.const.PUBLIC_PATH}>/Uploadify/jquery.js" type="text/javascript"></script>
  <script src="<{$smarty.const.PUBLIC_PATH}>/Uploadify/jquery.uploadify.min.js" type="text/javascript"></script>
 </head>
 <script type="text/javascript">
  $(function() {
   $("#file_upload").uploadify({
    //指定swf文件
    &#39;swf&#39;: &#39;<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.swf&#39;,
    //后台处理的页面
    &#39;uploader&#39;: "<{U(&#39;home/Login/Uploads&#39;,&#39;&#39;,false)}>",
    //按钮显示的文字
    &#39;buttonText&#39;: &#39;上传图片&#39;,
     //显示的高度和宽度
    "height" : 30,
    &#39;fileTypeDesc&#39;: &#39;Image Files&#39;,
    //允许上传的文件后缀
    &#39;fileTypeExts&#39;: &#39;*.gif; *.jpg; *.png&#39;,
    //发送给后台的其他参数通过formData指定
    //&#39;formData&#39;: { &#39;someKey&#39;: &#39;someValue&#39;, &#39;someOtherKey&#39;: 1 },
    "method" : &#39;post&#39;,//方法,服务端可以用$_POST数组获取数据
    &#39;removeTimeout&#39;  : 1,
    "onUploadSuccess" : uploadPicture
  });
  //可以根据自己的要求来做相应处理
  function uploadPicture(file, data){
    var data = eval(&#39;(&#39; + data + &#39;)&#39;);
   if(data.errorcode){
    alert(data.errormsg); 
   } else {
    alert(data.errormsg);
   }
  } 
 });
</script>
 <body>
  <input type="file" name="file_upload" id="file_upload" />
 </body>
</html>

控制器程式碼:

public function uploads(){
  $arr = array( "errorcode"=>"1","errormsg"=>"上传成功!");
  $model = M(&#39;applicant&#39;);
  if (!empty($_FILES)) {
    //图片上传设置
    $config = array( 
    &#39;maxSize&#39; => 1000000, 
    &#39;rootPath&#39; => &#39;Public&#39;,
    &#39;savePath&#39; => &#39;/Uploads/&#39;, 
    &#39;saveName&#39; => array(&#39;uniqid&#39;,&#39;&#39;), 
    &#39;exts&#39;  => array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;), 
    &#39;autoSub&#39; => false, 
    &#39;subName&#39; => array(&#39;date&#39;,&#39;Ymd&#39;),
   );
   $upload = new \Think\Upload($config);// 实例化上传类
  $info = $upload->upload();
   if($info){
    $arr[&#39;errorcode&#39;] = "0";
   } else {
    $arr["errorcode"] = "1";
    $arr["errormsg"] = $upload->getError();
   }
   /* 返回JSON数据 */
   $this->ajaxReturn($arr);
  }
}

#總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

PHP查看目前變數類型的背景、流程以及解決方法

php基於Imagick實作新增浮水印、文字的圖片功能

php實作評審評分器的功能

以上是php模板與js上傳外掛程式結合實現無刷新上傳的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn