1. 程式人生 > >對文件存儲的輕量封裝,屏蔽不同雲環境api差異,方便開發和部署時隨意切換存儲環境

對文件存儲的輕量封裝,屏蔽不同雲環境api差異,方便開發和部署時隨意切換存儲環境

clas -c iyu public baseurl config 開發 wpc autoload

文件存儲

安裝

composer require pfinal/storage
  • 本地存儲 Local

  • 阿裏雲 AliOss

    請先 composer require aliyuncs/oss-sdk-php

  • 7牛存諸 Qiniu

    請先 composer require qiniu/php-sdk

  • Ftp

    請先 composer league/flysystem

提供接口

//上傳文件
public function put($key, $data);
//獲取url
public function url($key, $rule = null);
//重命名
public function rename($key, $newKey);
//刪除
public function delete($key);
//獲取錯誤消息
public function error();

使用示例

<?php

require_once __DIR__ . ‘/vendor/autoload.php‘;

//7牛
$config = array(
    ‘accessKey=> ‘TOeV-fwwxsssf3s_45tCziKjRD9-bPyXUKjbuX7b‘,
    ‘secretKey=> ‘pbHrgwwwp_wpClxeeGrYKLNdEhLd02Jrew3t5h‘,
    ‘bucketName=> ‘test‘,
    ‘baseUrl=> ‘http://static.pfinal.cn/‘,
    ‘separator=> ‘-‘,
);
$qiniu = new \PFinal\Storage\Qiniu($config);
$bool = $qiniu->put(‘test/1.jpg‘, file_get_contents(‘/Users/ethan/Pictures/1.jpg‘));

//原圖url
var_dump($qiniu->url(‘test/1.jpg‘));

//小圖url 規則: "m"
var_dump($qiniu->url(‘test/1.jpg‘, ‘m‘));



//阿裏雲OSS

$config = [
    ‘accessKey=> ‘your key‘,
    ‘secret=> ‘your secret‘,
    ‘endPoint=> ‘oss-cn-shanghai.aliyuncs.com‘,
    ‘bucket=> ‘your bucket‘,
];
$oss = new \PFinal\Storage\AliOss($config);

$bool = $oss->put(‘test.jpg‘, file_get_contents(‘/Users/ethan/Pictures/1.jpg‘));

//原圖url
echo $oss->url(‘test.jpg‘);

//小圖url 規則名稱: "s"
echo $oss->url(‘test.jpg‘, ‘s‘);



https://github.com/pfinal/storage

對文件存儲的輕量封裝,屏蔽不同雲環境api差異,方便開發和部署時隨意切換存儲環境