php教程

超轻量级php框架startmvc

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

更新时间:2020-03-05 11:36:49 作者:startmvc
本文实例讲述了Thinkphp+smarty+uploadify实现无刷新上传的方法。分享给大家供大家参考。具体

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

模板文件代码:


<!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文件
 'swf': '<{$smarty.const.PUBLIC_PATH}>/Uploadify/uploadify.swf',
 //后台处理的页面
 'uploader': "<{U('home/Login/Uploads','',false)}>",
 //按钮显示的文字
 'buttonText': '上传图片',
 //显示的高度和宽度
 "height" : 30,
 'fileTypeDesc': 'Image Files',
 //允许上传的文件后缀
 'fileTypeExts': '*.gif; *.jpg; *.png',
 //发送给后台的其他参数通过formData指定
 //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },
 "method" : 'post',//方法,服务端可以用$_POST数组获取数据
 'removeTimeout' : 1,
 "onUploadSuccess" : uploadPicture
 });
 //可以根据自己的要求来做相应处理
 function uploadPicture(file, data){
 var data = eval('(' + data + ')');
 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('applicant');
 if (!empty($_FILES)) {
 //图片上传设置
 $config = array( 
 'maxSize' => 1000000, 
 'rootPath' => 'Public',
 'savePath' => '/Uploads/', 
 'saveName' => array('uniqid',''), 
 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 
 'autoSub' => false, 
 'subName' => array('date','Ymd'),
 );
 $upload = new \Think\Upload($config);// 实例化上传类
 $info = $upload->upload();
 if($info){
 $arr['errorcode'] = "0";
 } else {
 $arr["errorcode"] = "1";
 $arr["errormsg"] = $upload->getError();
 }
 /* 返回JSON数据 */
 $this->ajaxReturn($arr);
 }
}

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

Thinkphp smarty uploadify 无刷新上传