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程序设计有所帮助 。 |