七牛雲後端上傳檔案
我的案例是對接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框架寫的,好了,完事,有什麼不明白的,可以評論!