对文件存储的轻量封装,屏蔽不同云环境api差异,方便开发和部署时随意切换存储环境...

本文介绍了一种文件存储解决方案,包括本地存储、阿里云OSS、七牛云存储及FTP等多种存储方式,并提供了PHP实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件存储

安装

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

转载于:https://www.cnblogs.com/phpBigbin/p/7249589.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值