這篇文章主要介紹了Thinkphp+smarty+uploadify實現無刷新上傳的方法,實例分析了php模板與js上傳插件結合實現無刷新上傳的相關技巧,需要的朋友可以參考下
本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答