nidesky / upyun
There is no license information available for the latest version (dev-master) of this package.
upyun sdk
dev-master
2015-08-30 17:13 UTC
Requires
- illuminate/support: 5.1.8
This package is not auto-updated.
Last update: 2024-05-25 16:28:25 UTC
README
本文参考又拍云官方SDK upyun/php-sdk
1. 安装
我们可以添加 nidesky\upyun
到 composer.json
中:
{ ... "require": { ... "nidesky/upyun": "dev-master" },
也可以在项目目录中运行 composer require nidesky/upyun
。
2. 添加配置
首先,我们需要 ServiceProvider
到 config/app.php
:
[ ... 'providers' => [ ... Nidesky\Upyun\UpyunFilesystemServiceProvider::class, ... ], ... ]
然后我们要在 config/filesystems.php
中配置又拍云的信息:
[ ... 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ], ... 'upyun' => [ 'driver' => 'upyun', 'bucket' => env('UPYUN_BUCKET'), 'username' => env('UPYUN_USERNAME'), 'password' => env('UPYUN_PASSWORD') ] ], ]
OK , 配置完成!
3. 使用
上传文件
文件类空间可以上传任意形式的二进制文件
1. 直接读取整个文件内容:
$upyun = Storage::disk('upyun'); $upyun->put('/storage/uploads/file.txt', 'file contents');
2. 文件流的方式上传,可降低内存占用:
$file_handler = fopen('demo.png', 'r'); $upyun->putStream('/storage/uploads/file.txt', $file_handler);
下载文件
1.直接读取文件内容:
$data = $upyun->read('/temp/upload_demo.png');
2.使用文件流模式下载:
$fh = fopen('/tmp/demo.png', 'w'); $upyun->readStream('/temp/upload_demo.png', $fh); fclose($fh);
直接获取文件时,返回文件内容,使用数据流形式获取时,成功返回true。 如果获取文件失败,则抛出异常。
创建目录
$upyun->createDir('/demo/');
目录路径必须以斜杠 / 结尾,创建成功返回 true,否则抛出异常。
删除目录或者文件
$upyun->delete('/demo/'); // 删除目录 $upyun->delete('/demo/demo.png'); // 删除文件