[扩展推荐]Laravel最好的Aliyun OSS Storage扩展

项目地址

GITHUB地址: alphasnow.github.io/aliyun-oss-laravel
GITEE地址: gitee.com/shanyu/aliyun-oss-larave...

安装方法

composer require alphasnow/aliyun-oss-laravel

快速使用

文件写入

Storage::disk('aliyun')->putFile('prefix/path', '/local/path/file.md');
Storage::disk('aliyun')->putFileAs('prefix/path', '/local/path/file.md', 'file.md');

Storage::disk('aliyun')->put('prefix/path/file.md', file_get_contents('/local/path/file.md'));
$fp = fopen('/local/path/file.md','r');
Storage::disk('aliyun')->put('prefix/path/file.md', $fp);
fclose($fp);

Storage::disk('aliyun')->putRemoteFile('prefix/path/file.md', 'http://example.com/file.md');

Storage::disk('aliyun')->prepend('prefix/path/file.md', 'Prepended Text'); 
Storage::disk('aliyun')->append('prefix/path/file.md', 'Appended Text');

文件查询

Storage::disk('aliyun')->url('prefix/path/file.md');
Storage::disk('aliyun')->temporaryUrl('prefix/path/file.md',3600);

Storage::disk('aliyun')->get('prefix/path/file.md'); 

Storage::disk('aliyun')->exists('prefix/path/file.md'); 
Storage::disk('aliyun')->size('prefix/path/file.md'); 
Storage::disk('aliyun')->lastModified('prefix/path/file.md');

文件操作

Storage::disk('aliyun')->copy('prefix/path/file.md', 'prefix/path/file_new.md');
Storage::disk('aliyun')->move('prefix/path/file.md', 'prefix/path/file_new.md');
Storage::disk('aliyun')->rename('prefix/path/file.md', 'prefix/path/file_new.md');

文件删除

Storage::disk('aliyun')->delete('prefix/path/file.md');
Storage::disk('aliyun')->delete(['prefix/path/file1.md', 'prefix/path/file2.md']);

文件夹操作

Storage::disk('aliyun')->makeDirectory('prefix/path'); 
Storage::disk('aliyun')->deleteDirectory('prefix/path');

// 查询一级子目录文件
Storage::disk('aliyun')->files('prefix/path');
// 递归查询多级子目录文件
Storage::disk('aliyun')->allFiles('prefix/path');

// 查询一级子目录
Storage::disk('aliyun')->directories('prefix/path'); 
// 递归查询多级子目录
Storage::disk('aliyun')->allDirectories('prefix/path'); 

阿里云OSS文档

主要参考

本作品采用《CC 协议》,转载必须注明作者和本文链接
转载请告知
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 32

看着很方便啊,尝试下

3年前 评论
悠悠山雨 (楼主) 2年前
jcc123

不错 :+1:

3年前 评论
jcc123

看着和 Aliyun-oss-storage 没啥区别啊

3年前 评论
悠悠山雨 (楼主) 3年前

在用其他的,后面观察下,可以再切换

3年前 评论

@jcc123 原扩展不更新了 这个扩展是基于 Aliyun-oss-storage
主要是bug修复 与 逻辑调整
后期会附加更多功能
可以多关注下

3年前 评论

@小李世界 在使用那个扩展? 我之前也找了一遍 没发现合适的轮子 才开始自己造

3年前 评论
小李世界 3年前
悠悠山雨 (作者) (楼主) 3年前
小李世界 3年前

不错,支持一波,之前用的iidestiny/laravel-filesystem-oss有BUG,一直没修复,只能用兼容方案来做。

3年前 评论

大神,这个支持文件分片上传吗?我之前用的阿里云oss扩展,分片上传会失败。

3年前 评论
悠悠山雨 (楼主) 3年前
myhui0926 (作者) 2年前
leirhy

看起来还不支持多桶上传啊,虽然可以通过不同配置来做到。

3年前 评论
悠悠山雨 (楼主) 3年前
wenber

Laravel 9 的话, 需要兼容下flysystem 3

2年前 评论
悠悠山雨 (楼主) 2年前
悠悠山雨 (楼主) 2年前

提个建议: 只需要负责驱动逻辑就好了,不应该限定disk名称,disk名称是开发者自定义的。

file

1年前 评论
悠悠山雨 (楼主) 1年前

你好。我用的是laravel 9。使用该扩展上传时。一直出现Driver [oss] is not supported。通过分析在FilesystemManager.php的148行,要求有一个createOssDriver 方法,但没有这个方法,所以一直报错。请问我是不是在什么地方配置出了错误。谢谢

1年前 评论
悠悠山雨 (楼主) 1年前
悠悠山雨 (楼主) 1年前
fan_zh (作者) 1年前
fan_zh (作者) 1年前
fan_zh (作者) 1年前
悠悠山雨 (楼主) 1年前
fan_zh (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!