当前位置:首页 > CMS教程 > Thinkphp > 列表

Thinkphp+smarty+uploadify实现无刷新上传

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-14 23:07:57 浏览: 评论:0 

这篇文章主要介绍了Thinkphp+smarty+uploadify实现无刷新上传的方法,实例分析了php模板与js上传插件结合实现无刷新上传的相关技巧,需要的朋友可以参考下。

本文实例讲述了Thinkphp+smarty+uploadify实现无刷新上传的方法,分享给大家供大家参考,具体如下:

模板文件代码:

  1. <!DOCTYPE html> 
  2. <html lang="cn"
  3.  <head> 
  4.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5.   <link href="<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.css" rel="stylesheet" type="text/css" /> 
  6.   <script src="<{$smarty.const.PUBLIC_PATH}>/Uploadify/jquery.js" type="text/javascript"></script> 
  7.   <script src="<{$smarty.const.PUBLIC_PATH}>/Uploadify/jquery.uploadify.min.js" type="text/javascript"></script> 
  8.  </head> 
  9.  <script type="text/javascript"
  10.   $(function() { 
  11.    $("#file_upload").uploadify({ 
  12.     //指定swf文件 
  13.     'swf''<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.swf'
  14.     //后台处理的页面 
  15.     'uploader'"<{U('home/Login/Uploads','',false)}>"
  16.     //按钮显示的文字 
  17.     'buttonText''上传图片'
  18.      //显示的高度和宽度 
  19.     "height" : 30, 
  20.     'fileTypeDesc''Image Files'
  21.     //允许上传的文件后缀 
  22.     'fileTypeExts''*.gif; *.jpg; *.png'
  23.     //发送给后台的其他参数通过formData指定 
  24.     //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 }, 
  25.     "method" : 'post',//方法,服务端可以用$_POST数组获取数据 
  26.     'removeTimeout'  : 1, 
  27.     "onUploadSuccess" : uploadPicture 
  28.   }); 
  29.   //可以根据自己的要求来做相应处理 
  30.   function uploadPicture(file, data){ 
  31.     var data = eval('(' + data + ')'); 
  32.    if(data.errorcode){ 
  33.     alert(data.errormsg);  
  34.    } else { 
  35.     alert(data.errormsg); 
  36.    } 
  37.   }  
  38.  }); 
  39. </script> 
  40.  <body> 
  41.   <input type="file" name="file_upload" id="file_upload" /> 
  42.  </body> 
  43. </html> 

控制器代码:

  1. public function uploads(){ 
  2.   $arr = array"errorcode"=>"1","errormsg"=>"上传成功!"); 
  3.   $model = M('applicant'); 
  4.   if (!emptyempty($_FILES)) { 
  5.     //图片上传设置 
  6.     $config = array(  
  7.     'maxSize' => 1000000,  
  8.     'rootPath' => 'Public'
  9.     'savePath' => '/Uploads/',  
  10.     'saveName' => array('uniqid',''),  
  11.     'exts'  => array('jpg''gif''png''jpeg'),  
  12.     'autoSub' => false,  
  13.     'subName' => array('date','Ymd'), 
  14.    ); 
  15.    $upload = new \Think\Upload($config);// 实例化上传类 
  16.   $info = $upload->upload(); 
  17.    if($info){ 
  18.     $arr['errorcode'] = "0"
  19.    } else { 
  20.     $arr["errorcode"] = "1"
  21.     $arr["errormsg"] = $upload->getError(); 
  22.    } 
  23.    /* 返回JSON数据 */ 
  24.    $this->ajaxReturn($arr); 
  25.   } 

希望本文所述对大家的php程序设计有所帮助。

Tags: Thinkphp+smarty+uploadify

分享到: