kriss / webman-filesystem
This package is abandoned and no longer maintained.
The author suggests using the webman-tech/laravel-filesystem package instead.
Webman plugin webman-tech/laravel-filesystem
v3.1.1
2024-03-01 08:39 UTC
Requires
- php: >=7.2
- illuminate/filesystem: >=7.0
- league/flysystem: ^1.1|^3.0
Requires (Dev)
- alphasnow/aliyun-oss-laravel: ^3.0|^4.0
- iidestiny/flysystem-oss: ^2.1|^4.0
- illuminate/http: >=7.0
- overtrue/flysystem-cos: ^2|^3|^4|^5
- overtrue/flysystem-qiniu: ^1|^3
- phpunit/phpunit: ^8|^9
- symfony/filesystem: >=5.0
- symfony/mime: >=5.0
- webman-tech/polyfill: ^1.0|^2.0
- webman/console: ^1.2
- workerman/webman-framework: ^1.4
README
Laravel illuminate/filesystem for webman
介绍
站在巨人(laravel)的肩膀上使文件存储使用更加可靠和便捷
所有方法和配置与 laravel 几乎一模一样,因此使用方式完全参考 Laravel文档 即可
安装
composer require webman-tech/laravel-filesystem
使用
所有 API 同 laravel,以下仅对有些特殊的操作做说明
目录权限问题
Unix 系统下需要给予 storage/app
目录写权限
Facade 入口
使用 WebmanTech\LaravelFilesystem\Facades\File
代替 Illuminate\Support\Facades\File
使用 WebmanTech\LaravelFilesystem\Facades\Storage
代替 Illuminate\Support\Facades\Storage
建立软链
php webman storage:link
建立软链之后建议将软链(如
/public/storage
)加入根目录下的.gitignore
中
同 Laravel,可以支持自定义建立多个对外的路劲软链
Request 文件上传
原 Laravel 下通过 $request()->file()
之后的快捷文件操作,需要使用
webman-tech/polyfill
来支持
安装
composer require webman-tech/polyfill illuminate/http
使用
<?php namespace app\controller; use support\Request; use WebmanTech\Polyfill\LaravelRequest; use WebmanTech\Polyfill\LaravelUploadedFile; class UserAvatarController { public function update(Request $request) { $path = LaravelRequest::wrapper($request)->file('file')->store('avatars'); // 或者 $path = LaravelUploadedFile::wrapper($request->file('avatar'))->store('avatars'); return response($path); } }
自定义文件系统
通过在 filesystems.php
配置文件的 disks
中的 driver
直接使用驱动扩展类的 class 名即可(驱动扩展实现
WebmanTech\LaravelFilesystem\Extend\ExtendInterface
)
目前提供以下非 Laravel 官方库支持的文件系统,可自行参考替换相应的实现
排名不分先后,不做具体推荐