1. 程式人生 > >七牛雲後端上傳檔案

七牛雲後端上傳檔案

我的案例是對接tp框架的,亦可用於其他框架,本文章只針對tp框架進行詳解,大概步驟如下:

一、引入七牛雲外掛,本部落格裡面有外掛可進行下載,亦可加本人QQ(296346102)拿資料

二、修改tp框架中的config.php配置檔案

三、在php檔案進行程式的編寫,詳情如下:

第一步:引入外掛,找到tp框架根目錄下的vendor目錄,這個目錄是存放外掛用的,然後我把我的外掛命名為“qiniu”放入該目錄下,如下圖:

好了,引入外掛之後呢,就調整config.php檔案了。

第二步:在config.php配置檔案後追加如下內容:

//用於處理七牛雲上傳-liangyi-2018-7-20       'upload_validate' =>        array (         'size' => 10485760,         'ext' =>          array (           0 => 'jpg',           1 => 'gif',           2 => 'png',           3 => 'jpeg',         ),       ),       'upload_path' => '/data/upload',       'url_route_on' => true,       'url_route_must' => false,       'route_complete_match' => false,       'url_html_suffix' => 'html',       'storage' =>        array (         'storage_open' => true,         'accesskey' => 'WgJlGjsNoY0xxxxxxxxxGDR-Y-',//這個是七牛雲的金鑰         'secretkey' => 'iyaRU4XlxxxxxxxxxxxxxxxxryO-QyqgBt',//這個也是七牛雲那邊提供的金鑰         'bucket' => 'hoxxxxxng',//名稱(七牛進行提供)         'domain' => 'http://pixxxxx.cn/',//網址(七牛進行提供)       ),

上面的內容是變數呼叫用到的,如果是其他專案,就要修改外掛裡面的對應變數的值了

第三步:最後一步就是業務邏輯層的編寫了,我們先看html頁面先,如下:

<form name="add_contract" method="post" action="{:url('index/jobs/add_job')}"  enctype="multipart/form-data">

   <div class="input_ly">     公司圖片:     <input type="file" name="company_img">  </div>  <div class="input_ly">     <input type="submit" value="提交">  </div>

</form>

html頁面我就不做多說明,想必大家都明白from表單上傳的,接下來看php業務邏輯的編寫了,如下:

        $file = request()->file('company_img');         //如果圖片存在         if($file)         {             Vendor("qiniu.php-sdk.Qiniu");//這個是引入外掛的寫法,認真看就會明白             Vendor("qiniu.php-sdk.src.Qiniu.Auth");             Vendor("qiniu.php-sdk.src.Qiniu.Zone");             Vendor("qiniu.php-sdk.src.Qiniu.Config");             Vendor("qiniu.php-sdk.src.Qiniu.Http.Client");             Vendor("qiniu.php-sdk.src.Qiniu.Http.Request");             Vendor("qiniu.php-sdk.src.Qiniu.Http.Response");             Vendor("qiniu.php-sdk.src.Qiniu.functions");             Vendor("qiniu.php-sdk.src.Qiniu.Storage.UploadManager");             Vendor("qiniu.php-sdk.src.Qiniu.Storage.FormUploader");             $upload = \Qiniu::instance();             $info = $upload->upload();             if($info)             {                 $img_one= config('storage.domain').$info[0]['key'];//這個就是上傳至七牛雲的圖片路徑,最後把該變數入庫就好啦             }

          }

上面的程式碼是基於tp框架寫的,好了,完事,有什麼不明白的,可以評論!