首页 > 开发 > PHP > 正文

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

2024-05-04 23:38:24
字体:
来源:转载
供稿:网友

这篇文章主要介绍了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. </script> 
  39. <body> 
  40. <input type="file" name="file_upload" id="file_upload" /> 
  41. </body> 
  42. </html> 

控制器代码:

 

 
  1. public function uploads(){ 
  2. $arr = array( "errorcode"=>"1","errormsg"=>"上传成功!"); 
  3. $model = M('applicant'); 
  4. if (!empty($_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. /* 返回JSON数据 */ 
  23. $this->ajaxReturn($arr); 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表