基於thinkphp的uploadify上傳圖功能

php Action 服務器端

<?php


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


/**
 * Description of UploadAction
 *
 * @author hxwj
 */
class UploadAction extends CommonAction{
    public function _initialize(){
        //此處爲解決Uploadify在火狐下出現http 302錯誤 重新設置SESSION
        $session_name = session_name();
        if (isset($_POST[$session_name])) {
            session_id($_POST[$session_name]);
            session_start();
        }
    }
    public function upload(){
                import("ORG.Net.UploadFile");
                //導入上傳類
                if($_FILES){
                    $upload = new UploadFile();
                    //設置上傳文件大小
                    $upload->maxSize = 204800;
                    //設置上傳文件類型
                    $upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');
                    //設置附件上傳目錄
                    $upload->thumb = true;
                    $upload->thumbPrefix = 'm_';  //生產2張縮略圖
                    //設置縮略圖最大寬度
                    $upload->thumbMaxWidth = '400,100';
                    //設置縮略圖最大高度
                    $upload->thumbMaxHeight = '400,100';
                    $upload->savePath = './Uploads/shunongjj/';
                    //設置需要生成縮略圖,僅對圖像文件有效


                    // 設置引用圖片類庫包路徑
                    //刪除原圖
                    //$upload->thumbRemoveOrigin = true;
                    if (!$upload->upload()) {
                        //捕獲上傳異常
                        //$this->error($upload->getErrorMsg());
                        $data['status']='0';
                        $this->ajaxReturn($data,'json');
                    } else {
                        //取得成功上傳的文件信息
                        $info =  $upload->getUploadFileInfo();
                        $imgpath = '/Uploads/shunongjj/'.$info[0]['savename'];
                        $data['picurl'] = $imgpath;
                        $data['status']='100';
                        $this->ajaxReturn($data,'json');
                    }
                }
    }
    /*
     * 無縮略圖
     */
     public function upload_wsl(){
                import("ORG.Net.UploadFile");
                //導入上傳類
                if($_FILES){
                    $upload = new UploadFile();
                    //設置上傳文件大小
                    $upload->maxSize = 204800;
                    //設置上傳文件類型
                    $upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');
                    //設置附件上傳目錄
                    $upload->savePath = './Uploads/shunongjj/';
                    //設置需要生成縮略圖,僅對圖像文件有效


                    // 設置引用圖片類庫包路徑
                    //刪除原圖
                    //$upload->thumbRemoveOrigin = true;
                    if (!$upload->upload()) {
                        //捕獲上傳異常
                       //$this->error($upload->getErrorMsg());
                        $data['status']='0';
                        return false;
                       //  $this->ajaxReturn("","上傳失敗","");
                    } else {
                        //取得成功上傳的文件信息
                        $info =  $upload->getUploadFileInfo();
                        return $imgpath = '/Uploads/shunongjj/'.$info[0]['savename'];
                    }
                }
    }
    /*
     * 公司輪換首頁圖片
     */
     public function upload_index(){
                import("ORG.Net.UploadFile");
                //導入上傳類
                if($_FILES){
                    $upload = new UploadFile();
                    //設置上傳文件大小
                    $upload->maxSize = 204800;
                    //設置上傳文件類型
                    $upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');
                    //設置附件上傳目錄
                    $upload->savePath = './Uploads/shunongjj/';
                    //設置需要生成縮略圖,僅對圖像文件有效


                    // 設置引用圖片類庫包路徑
                    //刪除原圖
                    //$upload->thumbRemoveOrigin = true;
                     if (!$upload->upload()) {
                        //捕獲上傳異常
                        //$this->error($upload->getErrorMsg());
                        $data['status']='0';
                        $this->ajaxReturn($data,'json');
                    } else {
                        //取得成功上傳的文件信息
                        $info =  $upload->getUploadFileInfo();
                        $imgpath = '/Uploads/shunongjj/'.$info[0]['savename'];
                        $data['picurl'] = $imgpath;
                        $data['status']='100';
                        $this->ajaxReturn($data,'json');
                    }
                }
    }
}


?>

模板  tpl  端

html

 <input  id="file_upload" name="file_upload" type="file" />(圖片上傳規範:176*107)

js

<script src="__PUBLIC__/uploadify/jquery.uploadify.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/uploadify/uploadify.css"/>

/**
                 * uploadify插件上產圖片
                 */
                $("#file_upload").uploadify({
                    //指定swf文件
                    'swf': '__PUBLIC__/uploadify/uploadify.swf',
                    //後臺處理的頁面
                    'uploader': '{:U("Upload/upload")}',
                    //按鈕顯示的文字
                    'buttonText': '上傳圖片',
                    //顯示的高度和寬度,默認 height 30;width 120
                    //'height': 15,
                    //'width': 80,
                    //上傳文件的類型  默認爲所有文件    'All Files'  ;  '*.*'
                    //在瀏覽窗口底部的文件類型下拉菜單中顯示的文本
                    'fileTypeDesc': 'Image Files',
                    //允許上傳的文件後綴
                    'fileTypeExts': '*.gif; *.jpg; *.png',
                    //發送給後臺的其他參數通過formData指定
                    //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },
                    //上傳文件頁面中,你想要用來作爲文件隊列的元素的id, 默認爲false  自動生成,  不帶#
                    //'queueID': 'fileQueue',
                    //選擇文件後自動上傳
                    'auto': true,
                    //設置爲true將允許多文件上傳
                    'onUploadSuccess': function(file, data, response){
    var data = $.parseJSON(data);
                       if(data.status==100) {
                         $("#img_show").html("<img src='"+data.picurl+"'/>");
                         $("#img_url").val(data.picurl);
                       }else{
                         alert("上傳失敗,可能是您上傳的圖片大小不符合規範,請重試!");
                       }
                }
        });
 });

 

 

 

 

 

 


轉載自:https://blog.csdn.net/qq1355541448/article/details/28656545 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章