| 雲 | 複数のファイルアップロード | base64画像アップロード | サーバーファイルのアップロード |
|---|---|---|---|
| ?プライベートクラウド | ✅ | - | ✅ |
| ?アリババクラウド | ✅ | ✅ | ✅ |
| ?テンセントクラウド | ✅ | ✅ | ✅ |
| ? Qiniuクラウド | ✅ | ✅ | ✅ |
| ? Amazon(S3) | ✅ | ✅ | ✅ |
composer require tinywan/storage $ res = Tinywan Storage Storage:: uploadFile ();
var_dump ( json_encode ( $ res ));
v1.0.0の後、TinywanStorageStorage::config()初期化後にこの方法を呼び出す必要はありません。自動的に初期化されます。デフォルトの構成は、構成ファイルapp.phpdefaultの構成アップロードアダプターです。
[
{
"key" : " webman " ,
"origin_name" : "常用编程软件和工具.xlsx " ,
"save_name" : " 03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"save_path" : " runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"save_path" : " /var/www/webman-admin/public/storage/03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"url" : " /storage/fd2d472da56c71a6da0a5251f5e1b586.png " ,
"uniqid " : " 03414c9bdaf7a38148742c87b96b8167 " ,
"size" : 15050 ,
"mime_type" : " application/vnd.openxmlformats-officedocument.spreadsheetml.sheet " ,
"extension" : " xlsx "
}
...
]失敗し、
StorageAdapterException例外を投げました
| フィールド | 説明する | 値の例 |
|---|---|---|
| 鍵 | ファイルキーをアップロードします | ウェブマン |
| Origin_name | 元のファイル名 | 一般的なプログラミングソフトウェアとtools.xlsx |
| save_name | ファイル名を保存します | 03414C9BDAF7A38148742C87B96B8167.XLSX |
| save_path | ファイル保存パス(相対) | /var/www/webman-admin/runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| URL | URLアクセスパス | /storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| unique_id | uniqid | 03414C9BDAF7A38148742C87B96B8167 |
| サイズ | ファイルサイズ | 15050(バイト) |
| mime_type | ファイルタイプ | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| 拡大 | ファイル拡張子 | XLSX |
デフォルトでは、ローカルサーバーにアップロードされます。サブディレクトリとして現在の日付を備えたファイルと、ファイルストリームのSHA1によってエンコードされたファイル名はruntime/storageディレクトリの下で生成されます。たとえば、上記で生成されたファイル名は次のとおりです。
runtime/storage/fd2d472da56c71a6da0a5251f5e1b586.png
アップロードされたファイルを直接アクセスできるか、ダウンロードしたい場合は、 publicストレージ方法を使用できます。
config/plugin/tinywan/storage/app.php構成ファイルでroot rootディレクトリを構成できます。たとえば
' local ' => [
' adapter ' => Tinywan Storage Adapter LocalAdapter::class,
' root ' => public_path () . ' /storage ' ,
],ブラウザアクセス:http:///127.0.0.1:8787/storage/fd2d472da56c71a6da0a5251f5e1b586.png
ファイルサイズ、ファイルタイプ、サフィックスなど、検証クラスを使用してアップロードされたファイルの検証をサポートしています
| フィールド | 説明する | 値の例 |
|---|---|---|
| single_limit | 単一のファイルのサイズ制限、デフォルト200m | 1024 * 1024 * 200 |
| total_limit total_limit | すべてのファイルのサイズ制限、デフォルト200m | 1024 * 1024 * 200 |
| nums | ファイル番号制限、デフォルト10 | 10 |
| 含む | 許可されたファイルタイプのリスト | ['xlsx'、 'pdf'] |
| 除外します | 不正なファイルタイプのリスト | ['png'、 'jpg'] |
composer require aliyuncs/oss-sdk-phpcomposer require qcloud/cos-sdk-v5composer require qiniu/php-sdkcomposer require league/flysystem-aws-s3-v3使用シナリオ:フロントエンド(AVA、キャンバスなど)の直接スクリーンショットBase64データストリームの写真は、クラウドに直接アップロードされます
{
"extension" : " png " ,
"base64" : " data:image/jpeg;base64,/9j/4AAQSkxxxxxxxxxxxxZJRgABvtyQBIr/MPTPTP/2Q== "
} public function upload ( Request $ request )
{
$ base64 = $ request -> post ( ' base64 ' );
$ response = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadBase64 ( $ base64 , ' png ' );
var_dump ( $ response );
}
v1.0.0の後、TinywanStorageStorage::config()初期化後にこの方法を呼び出す必要はありません。自動的に初期化されます。デフォルトの構成は、構成ファイルapp.phpdefault構成アップロードアダプターです。
{
"save_path" : " storage/20220402213639624851671439e.png " ,
"url" : " http://webman.oss.tinywan.com/storage/20220402213639624851671439e.png " ,
"unique_id" : " 20220402213639624851671439e " ,
"size" : 11802 ,
"extension" : " png "
}使用法シナリオ:サーバーエクスポートファイルは、クラウドストレージにアップロードするか、ゼロタイムファイルストレージでダウンロードする必要があります。
$ serverFile = runtime_path () . DIRECTORY_SEPARATOR . ' storage/webman.png ' ;
$ res = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadServerFile ( $ serverFile );
v1.0.0の後、TinywanStorageStorage::config()初期化後にこの方法を呼び出す必要はありません。自動的に初期化されます。デフォルトの構成は、構成ファイルapp.phpdefault構成アップロードアダプターです。
{
"origin_name" : " /var/www/webman-admin/runtime/storage/webman.png " ,
"save_path" : " storage/6edf04d7c26f020cf5e46e6457620220402213414.png " ,
"url" : " http://webman.oss.tinywan.com/storage/6ed9ffd54d0df57620220402213414.png " ,
"unique_id" : " 6edf04d7c26f020cf5e46e6403213414 " ,
"size" : 3505604 ,
"extension" : " png "
} vendor/bin/phpstan analyse src
vendor/bin/php-cs-fixer fix src