mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-08 11:02:48 +08:00
重新实现filesystem模块,升级到最新版本;
This commit is contained in:
@@ -69,6 +69,7 @@ class Ajax extends AdminController
|
|||||||
|
|
||||||
$result = $upload_service->save($data['file']);
|
$result = $upload_service->save($data['file']);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
$this->error($e->getMessage());
|
$this->error($e->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
<label class="layui-form-label required">数据中心</label>
|
<label class="layui-form-label required">数据中心</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="alioss_endpoint" class="layui-input" lay-verify="required" lay-reqtext="请输入数据中心" placeholder="请输入数据中心" value="{:sysconfig('upload','alioss_endpoint')}">
|
<input type="text" name="alioss_endpoint" class="layui-input" lay-verify="required" lay-reqtext="请输入数据中心" placeholder="请输入数据中心" value="{:sysconfig('upload','alioss_endpoint')}">
|
||||||
<tip>例子:https://oss-cn-shenzhen.aliyuncs.com</tip>
|
<tip>endpoint,例子:oss-cn-shenzhen.aliyuncs.com</tip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<label class="layui-form-label required">访问域名</label>
|
<label class="layui-form-label required">访问域名</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="alioss_domain" class="layui-input" lay-verify="required" lay-reqtext="请输入访问域名" placeholder="请输入访问域名" value="{:sysconfig('upload','alioss_domain')}">
|
<input type="text" name="alioss_domain" class="layui-input" lay-verify="required" lay-reqtext="请输入访问域名" placeholder="请输入访问域名" value="{:sysconfig('upload','alioss_domain')}">
|
||||||
<tip>例子:ulthon-admin.oss-cn-shenzhen.aliyuncs.com</tip>
|
<tip>例子:http://ulthon-admin.oss-cn-shenzhen.aliyuncs.com</tip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@
|
|||||||
<label class="layui-form-label required">存储桶名称</label>
|
<label class="layui-form-label required">存储桶名称</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" name="txcos_bucket" class="layui-input" lay-verify="required" lay-reqtext="请输入存储桶名称" placeholder="请输入存储桶名称" value="{:sysconfig('upload','txcos_bucket')}">
|
<input type="text" name="txcos_bucket" class="layui-input" lay-verify="required" lay-reqtext="请输入存储桶名称" placeholder="请输入存储桶名称" value="{:sysconfig('upload','txcos_bucket')}">
|
||||||
<tip>例子:ulthon-admin-1251997243</tip>
|
<tip>例子:ulthon-admin ,注意不需要拼接appid等数字</tip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item show-type-item txcos">
|
<div class="layui-form-item show-type-item txcos">
|
||||||
|
|||||||
@@ -15,4 +15,6 @@ $middleware_common = include_once __DIR__ . '/common/app/middleware.php';
|
|||||||
|
|
||||||
$middleware = array_merge($middleware_default, $middleware_common);
|
$middleware = array_merge($middleware_default, $middleware_common);
|
||||||
|
|
||||||
return ksort($middleware);
|
ksort($middleware);
|
||||||
|
|
||||||
|
return $middleware;
|
||||||
|
|||||||
@@ -11,4 +11,6 @@ $service_common = include_once __DIR__ . '/common/app/service.php';
|
|||||||
|
|
||||||
$service = array_merge($service_default, $service_common);
|
$service = array_merge($service_default, $service_common);
|
||||||
|
|
||||||
return ksort($service);
|
ksort($service);
|
||||||
|
|
||||||
|
return $service;
|
||||||
|
|||||||
@@ -24,14 +24,14 @@
|
|||||||
"topthink/think-multi-app": "^1.0",
|
"topthink/think-multi-app": "^1.0",
|
||||||
"topthink/think-view": "^2.0",
|
"topthink/think-view": "^2.0",
|
||||||
"topthink/think-captcha": "^3.0",
|
"topthink/think-captcha": "^3.0",
|
||||||
"topthink/think-filesystem": "^2.0",
|
|
||||||
"topthink/think-migration": "^3.0",
|
"topthink/think-migration": "^3.0",
|
||||||
"guzzlehttp/guzzle": "^7.4",
|
"guzzlehttp/guzzle": "^7.4",
|
||||||
"phpoffice/phpspreadsheet": "^1.22",
|
"phpoffice/phpspreadsheet": "^1.22",
|
||||||
"doctrine/annotations": "^1.13",
|
"doctrine/annotations": "^1.13",
|
||||||
"overtrue/flysystem-qiniu": "^2.0",
|
"league/flysystem": "^3.0",
|
||||||
"overtrue/flysystem-cos": "^4.0",
|
"overtrue/flysystem-qiniu": "^3.0",
|
||||||
"iidestiny/flysystem-oss": "^3.0"
|
"overtrue/flysystem-cos": "^5.0",
|
||||||
|
"iidestiny/flysystem-oss": "^4.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/var-dumper": "^4.2"
|
"symfony/var-dumper": "^4.2"
|
||||||
|
|||||||
311
composer.lock
generated
311
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "ca3fcd696a06edb2905bbd88a2d905d0",
|
"content-hash": "07cbcad2506a74dbd4130f9597859332",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "aliyuncs/oss-sdk-php",
|
"name": "aliyuncs/oss-sdk-php",
|
||||||
@@ -640,16 +640,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "iidestiny/flysystem-oss",
|
"name": "iidestiny/flysystem-oss",
|
||||||
"version": "3.1",
|
"version": "4.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/iiDestiny/flysystem-oss.git",
|
"url": "https://github.com/iiDestiny/flysystem-oss.git",
|
||||||
"reference": "9fff308b9bcb47f7d5021c0741a8fbcf463cef9e"
|
"reference": "15447c3367cb8a36a64bc2881c13ee2b6ae3fa26"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/iiDestiny/flysystem-oss/zipball/9fff308b9bcb47f7d5021c0741a8fbcf463cef9e",
|
"url": "https://api.github.com/repos/iiDestiny/flysystem-oss/zipball/15447c3367cb8a36a64bc2881c13ee2b6ae3fa26",
|
||||||
"reference": "9fff308b9bcb47f7d5021c0741a8fbcf463cef9e",
|
"reference": "15447c3367cb8a36a64bc2881c13ee2b6ae3fa26",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -657,12 +657,12 @@
|
|||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-openssl": "*",
|
"ext-openssl": "*",
|
||||||
"league/flysystem": "^2.0",
|
"league/flysystem": "^3.0",
|
||||||
"php": ">=7.2"
|
"php": "^8.0.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"mockery/mockery": "^1.2",
|
"mockery/mockery": "^1.5",
|
||||||
"phpunit/phpunit": "^6.5",
|
"phpunit/phpunit": "^9.5",
|
||||||
"symfony/var-dumper": "^3.4"
|
"symfony/var-dumper": "^3.4"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
@@ -690,45 +690,53 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/iiDestiny/flysystem-oss/issues",
|
"issues": "https://github.com/iiDestiny/flysystem-oss/issues",
|
||||||
"source": "https://github.com/iiDestiny/flysystem-oss/tree/3.1"
|
"source": "https://github.com/iiDestiny/flysystem-oss/tree/4.3"
|
||||||
},
|
},
|
||||||
"time": "2022-04-19T05:39:46+00:00"
|
"time": "2023-09-09T11:59:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/flysystem",
|
"name": "league/flysystem",
|
||||||
"version": "2.5.0",
|
"version": "3.16.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/thephpleague/flysystem.git",
|
"url": "https://github.com/thephpleague/flysystem.git",
|
||||||
"reference": "8aaffb653c5777781b0f7f69a5d937baf7ab6cdb"
|
"reference": "4fdf372ca6b63c6e281b1c01a624349ccb757729"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8aaffb653c5777781b0f7f69a5d937baf7ab6cdb",
|
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4fdf372ca6b63c6e281b1c01a624349ccb757729",
|
||||||
"reference": "8aaffb653c5777781b0f7f69a5d937baf7ab6cdb",
|
"reference": "4fdf372ca6b63c6e281b1c01a624349ccb757729",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-json": "*",
|
"league/flysystem-local": "^3.0.0",
|
||||||
"league/mime-type-detection": "^1.0.0",
|
"league/mime-type-detection": "^1.0.0",
|
||||||
"php": "^7.2 || ^8.0"
|
"php": "^8.0.2"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"guzzlehttp/ringphp": "<1.1.1"
|
"async-aws/core": "<1.19.0",
|
||||||
|
"async-aws/s3": "<1.14.0",
|
||||||
|
"aws/aws-sdk-php": "3.209.31 || 3.210.0",
|
||||||
|
"guzzlehttp/guzzle": "<7.0",
|
||||||
|
"guzzlehttp/ringphp": "<1.1.1",
|
||||||
|
"phpseclib/phpseclib": "3.0.15",
|
||||||
|
"symfony/http-client": "<5.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"async-aws/s3": "^1.5",
|
"async-aws/s3": "^1.5",
|
||||||
"async-aws/simple-s3": "^1.0",
|
"async-aws/simple-s3": "^1.1",
|
||||||
"aws/aws-sdk-php": "^3.132.4",
|
"aws/aws-sdk-php": "^3.220.0",
|
||||||
"composer/semver": "^3.0",
|
"composer/semver": "^3.0",
|
||||||
"ext-fileinfo": "*",
|
"ext-fileinfo": "*",
|
||||||
"ext-ftp": "*",
|
"ext-ftp": "*",
|
||||||
"friendsofphp/php-cs-fixer": "^3.2",
|
"ext-zip": "*",
|
||||||
|
"friendsofphp/php-cs-fixer": "^3.5",
|
||||||
"google/cloud-storage": "^1.23",
|
"google/cloud-storage": "^1.23",
|
||||||
"phpseclib/phpseclib": "^2.0",
|
"microsoft/azure-storage-blob": "^1.1",
|
||||||
|
"phpseclib/phpseclib": "^3.0.14",
|
||||||
"phpstan/phpstan": "^0.12.26",
|
"phpstan/phpstan": "^0.12.26",
|
||||||
"phpunit/phpunit": "^8.5 || ^9.4",
|
"phpunit/phpunit": "^9.5.11|^10.0",
|
||||||
"sabre/dav": "^4.1"
|
"sabre/dav": "^4.3.1"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -762,7 +770,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/thephpleague/flysystem/issues",
|
"issues": "https://github.com/thephpleague/flysystem/issues",
|
||||||
"source": "https://github.com/thephpleague/flysystem/tree/2.5.0"
|
"source": "https://github.com/thephpleague/flysystem/tree/3.16.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -772,13 +780,69 @@
|
|||||||
{
|
{
|
||||||
"url": "https://github.com/frankdejonge",
|
"url": "https://github.com/frankdejonge",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://tidelift.com/funding/github/packagist/league/flysystem",
|
|
||||||
"type": "tidelift"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-09-17T21:02:32+00:00"
|
"time": "2023-09-07T19:22:17+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "league/flysystem-local",
|
||||||
|
"version": "3.16.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/thephpleague/flysystem-local.git",
|
||||||
|
"reference": "ec7383f25642e6fd4bb0c9554fc2311245391781"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ec7383f25642e6fd4bb0c9554fc2311245391781",
|
||||||
|
"reference": "ec7383f25642e6fd4bb0c9554fc2311245391781",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-fileinfo": "*",
|
||||||
|
"league/flysystem": "^3.0.0",
|
||||||
|
"league/mime-type-detection": "^1.0.0",
|
||||||
|
"php": "^8.0.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"League\\Flysystem\\Local\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Frank de Jonge",
|
||||||
|
"email": "info@frankdejonge.nl"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Local filesystem adapter for Flysystem.",
|
||||||
|
"keywords": [
|
||||||
|
"Flysystem",
|
||||||
|
"file",
|
||||||
|
"files",
|
||||||
|
"filesystem",
|
||||||
|
"local"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/thephpleague/flysystem-local/issues",
|
||||||
|
"source": "https://github.com/thephpleague/flysystem-local/tree/3.16.0"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://ecologi.com/frankdejonge",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/frankdejonge",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2023-08-30T10:23:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/mime-type-detection",
|
"name": "league/mime-type-detection",
|
||||||
@@ -1086,35 +1150,36 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "overtrue/flysystem-cos",
|
"name": "overtrue/flysystem-cos",
|
||||||
"version": "4.0.1",
|
"version": "5.1.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/overtrue/flysystem-cos.git",
|
"url": "https://github.com/overtrue/flysystem-cos.git",
|
||||||
"reference": "d86e1d5f3f7a881c672a698fbdfa08a767b3ea38"
|
"reference": "bbcfe9195e96a9d5262c79fdb1e57820d45dd664"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/overtrue/flysystem-cos/zipball/d86e1d5f3f7a881c672a698fbdfa08a767b3ea38",
|
"url": "https://api.github.com/repos/overtrue/flysystem-cos/zipball/bbcfe9195e96a9d5262c79fdb1e57820d45dd664",
|
||||||
"reference": "d86e1d5f3f7a881c672a698fbdfa08a767b3ea38",
|
"reference": "bbcfe9195e96a9d5262c79fdb1e57820d45dd664",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"league/flysystem": "^2.0",
|
"league/flysystem": "^3.0",
|
||||||
"overtrue/qcloud-cos-client": "^1.0.0",
|
"overtrue/qcloud-cos-client": "^2.0",
|
||||||
"php": ">=7.4"
|
"php": ">=8.0.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"brainmaestro/composer-git-hooks": "^2.7",
|
"brainmaestro/composer-git-hooks": "dev-master",
|
||||||
"friendsofphp/php-cs-fixer": "^2.15",
|
"laravel/pint": "^1.6",
|
||||||
"mockery/mockery": "~1.0",
|
"league/flysystem-adapter-test-utilities": "^3.0",
|
||||||
"phpunit/phpunit": "~9"
|
"mockery/mockery": "^1.0",
|
||||||
|
"phpunit/phpunit": "^9.5"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"hooks": {
|
"hooks": {
|
||||||
"pre-commit": [
|
"pre-commit": [
|
||||||
"composer test",
|
"composer fix-style",
|
||||||
"composer check-style"
|
"composer test"
|
||||||
],
|
],
|
||||||
"pre-push": [
|
"pre-push": [
|
||||||
"composer test",
|
"composer test",
|
||||||
@@ -1140,7 +1205,7 @@
|
|||||||
"description": "Flysystem adapter for the QCloud COS storage.",
|
"description": "Flysystem adapter for the QCloud COS storage.",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/overtrue/flysystem-cos/issues",
|
"issues": "https://github.com/overtrue/flysystem-cos/issues",
|
||||||
"source": "https://github.com/overtrue/flysystem-cos/tree/4.0.1"
|
"source": "https://github.com/overtrue/flysystem-cos/tree/5.1.4"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1148,32 +1213,43 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2021-11-10T09:20:45+00:00"
|
"time": "2023-05-26T09:00:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "overtrue/flysystem-qiniu",
|
"name": "overtrue/flysystem-qiniu",
|
||||||
"version": "2.0.1",
|
"version": "3.2.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/overtrue/flysystem-qiniu.git",
|
"url": "https://github.com/overtrue/flysystem-qiniu.git",
|
||||||
"reference": "8d997760cff8967d9d6861d359c404f8ec6aa316"
|
"reference": "cf87e0fd74ba80736c7e0e9d19e1422eee6617d2"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/overtrue/flysystem-qiniu/zipball/8d997760cff8967d9d6861d359c404f8ec6aa316",
|
"url": "https://api.github.com/repos/overtrue/flysystem-qiniu/zipball/cf87e0fd74ba80736c7e0e9d19e1422eee6617d2",
|
||||||
"reference": "8d997760cff8967d9d6861d359c404f8ec6aa316",
|
"reference": "cf87e0fd74ba80736c7e0e9d19e1422eee6617d2",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"league/flysystem": "^2.0",
|
"league/flysystem": "^3.0",
|
||||||
"php": ">=7.2",
|
|
||||||
"qiniu/php-sdk": "^7.2"
|
"qiniu/php-sdk": "^7.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"mockery/mockery": "1.3.1",
|
"mockery/mockery": "^1.4",
|
||||||
"phpunit/phpunit": "~8.0"
|
"phpunit/phpunit": "^9.5"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": [
|
||||||
|
"composer test",
|
||||||
|
"composer check-style"
|
||||||
|
],
|
||||||
|
"pre-push": [
|
||||||
|
"composer test",
|
||||||
|
"composer check-style"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Overtrue\\Flysystem\\Qiniu\\": "src"
|
"Overtrue\\Flysystem\\Qiniu\\": "src"
|
||||||
@@ -1192,7 +1268,7 @@
|
|||||||
"description": "Flysystem adapter for the Qiniu storage.",
|
"description": "Flysystem adapter for the Qiniu storage.",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/overtrue/flysystem-qiniu/issues",
|
"issues": "https://github.com/overtrue/flysystem-qiniu/issues",
|
||||||
"source": "https://github.com/overtrue/flysystem-qiniu/tree/2.0.1"
|
"source": "https://github.com/overtrue/flysystem-qiniu/tree/3.2.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1200,20 +1276,20 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-08-12T03:23:12+00:00"
|
"time": "2023-05-02T13:14:45+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "overtrue/qcloud-cos-client",
|
"name": "overtrue/qcloud-cos-client",
|
||||||
"version": "1.0.4",
|
"version": "2.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/overtrue/qcloud-cos-client.git",
|
"url": "https://github.com/overtrue/qcloud-cos-client.git",
|
||||||
"reference": "64ca47881afe4fd0961958f85674dcae71421913"
|
"reference": "238ef94beb0f856336e3cedd93b21c1c42228540"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/overtrue/qcloud-cos-client/zipball/64ca47881afe4fd0961958f85674dcae71421913",
|
"url": "https://api.github.com/repos/overtrue/qcloud-cos-client/zipball/238ef94beb0f856336e3cedd93b21c1c42228540",
|
||||||
"reference": "64ca47881afe4fd0961958f85674dcae71421913",
|
"reference": "238ef94beb0f856336e3cedd93b21c1c42228540",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1221,16 +1297,18 @@
|
|||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-libxml": "*",
|
"ext-libxml": "*",
|
||||||
"ext-simplexml": "*",
|
"ext-simplexml": "*",
|
||||||
"guzzlehttp/guzzle": "^7.2",
|
"guzzlehttp/guzzle": "^7.4",
|
||||||
"php": ">=7.4",
|
"php": ">=8.0.2",
|
||||||
"psr/http-message": "^1.0"
|
"psr/http-message": "^1.0|^2.0",
|
||||||
|
"thenorthmemory/xml": "^1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"brainmaestro/composer-git-hooks": "^2.7",
|
"brainmaestro/composer-git-hooks": "^2.8",
|
||||||
"friendsofphp/php-cs-fixer": "^3.4.0",
|
"friendsofphp/php-cs-fixer": "^3.5",
|
||||||
|
"laravel/pint": "^1.2",
|
||||||
"mockery/mockery": "^1.0",
|
"mockery/mockery": "^1.0",
|
||||||
"monolog/monolog": "^2.1",
|
"monolog/monolog": "^2.5",
|
||||||
"phpunit/phpunit": "^9.0"
|
"phpunit/phpunit": "^9.5"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@@ -1263,7 +1341,7 @@
|
|||||||
"description": "Client of QCloud.com COS",
|
"description": "Client of QCloud.com COS",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/overtrue/qcloud-cos-client/issues",
|
"issues": "https://github.com/overtrue/qcloud-cos-client/issues",
|
||||||
"source": "https://github.com/overtrue/qcloud-cos-client/tree/1.0.4"
|
"source": "https://github.com/overtrue/qcloud-cos-client/tree/2.0.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1271,7 +1349,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-11-07T00:18:25+00:00"
|
"time": "2023-08-16T08:56:32+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpoffice/phpspreadsheet",
|
"name": "phpoffice/phpspreadsheet",
|
||||||
@@ -1910,6 +1988,57 @@
|
|||||||
],
|
],
|
||||||
"time": "2022-01-02T09:55:41+00:00"
|
"time": "2022-01-02T09:55:41+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "thenorthmemory/xml",
|
||||||
|
"version": "1.1.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/TheNorthMemory/xml.git",
|
||||||
|
"reference": "6f50c63450a0b098772423f8bdc3c4ad2c4c30bb"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/TheNorthMemory/xml/zipball/6f50c63450a0b098772423f8bdc3c4ad2c4c30bb",
|
||||||
|
"reference": "6f50c63450a0b098772423f8bdc3c4ad2c4c30bb",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-libxml": "*",
|
||||||
|
"ext-simplexml": "*",
|
||||||
|
"php": ">=7.1.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpstan/phpstan": "^0.12.89 || ^1.0",
|
||||||
|
"phpunit/phpunit": "^7.5 || ^8.5.16 || ^9.3.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"TheNorthMemory\\Xml\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"Apache-2.0"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "James ZHANG",
|
||||||
|
"homepage": "https://github.com/TheNorthMemory"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A wrapper of the XML parser and builder",
|
||||||
|
"homepage": "https://github.com/TheNorthMemory/xml",
|
||||||
|
"keywords": [
|
||||||
|
"xml-builder",
|
||||||
|
"xml-parser"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/TheNorthMemory/xml/issues",
|
||||||
|
"source": "https://github.com/TheNorthMemory/xml/tree/1.1.1"
|
||||||
|
},
|
||||||
|
"time": "2023-01-15T06:01:13+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "topthink/framework",
|
"name": "topthink/framework",
|
||||||
"version": "v8.0.2",
|
"version": "v8.0.2",
|
||||||
@@ -2028,52 +2157,6 @@
|
|||||||
},
|
},
|
||||||
"time": "2023-04-27T07:18:40+00:00"
|
"time": "2023-04-27T07:18:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "topthink/think-filesystem",
|
|
||||||
"version": "v2.0.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/top-think/think-filesystem.git",
|
|
||||||
"reference": "c08503232fcae0c3c7fefae5e6b5c841ffe09f2f"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/top-think/think-filesystem/zipball/c08503232fcae0c3c7fefae5e6b5c841ffe09f2f",
|
|
||||||
"reference": "c08503232fcae0c3c7fefae5e6b5c841ffe09f2f",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"league/flysystem": "^2.0",
|
|
||||||
"topthink/framework": "^6.1|^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"mikey179/vfsstream": "^1.6",
|
|
||||||
"mockery/mockery": "^1.2",
|
|
||||||
"phpunit/phpunit": "^8.0"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"think\\": "src"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"Apache-2.0"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "yunwuxin",
|
|
||||||
"email": "448901948@qq.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "The ThinkPHP6.1 Filesystem Package",
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/top-think/think-filesystem/issues",
|
|
||||||
"source": "https://github.com/top-think/think-filesystem/tree/v2.0.2"
|
|
||||||
},
|
|
||||||
"time": "2023-02-08T01:23:42+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "topthink/think-helper",
|
"name": "topthink/think-helper",
|
||||||
"version": "v3.1.6",
|
"version": "v3.1.6",
|
||||||
|
|||||||
89
extend/think/Filesystem.php
Normal file
89
extend/think/Filesystem.php
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2006~2021 http://thinkphp.cn All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: yunwuxin <448901948@qq.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
declare (strict_types = 1);
|
||||||
|
|
||||||
|
namespace think;
|
||||||
|
|
||||||
|
use InvalidArgumentException;
|
||||||
|
use think\filesystem\Driver;
|
||||||
|
use think\filesystem\driver\Local;
|
||||||
|
use think\helper\Arr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Filesystem
|
||||||
|
* @package think
|
||||||
|
* @mixin Driver
|
||||||
|
* @mixin Local
|
||||||
|
*/
|
||||||
|
class Filesystem extends Manager
|
||||||
|
{
|
||||||
|
protected $namespace = '\\think\\filesystem\\driver\\';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param null|string $name
|
||||||
|
* @return Driver
|
||||||
|
*/
|
||||||
|
public function disk(string $name = null): Driver
|
||||||
|
{
|
||||||
|
return $this->driver($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function resolveType(string $name)
|
||||||
|
{
|
||||||
|
return $this->getDiskConfig($name, 'type', 'local');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function resolveConfig(string $name)
|
||||||
|
{
|
||||||
|
return $this->getDiskConfig($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取缓存配置
|
||||||
|
* @access public
|
||||||
|
* @param null|string $name 名称
|
||||||
|
* @param mixed $default 默认值
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getConfig(string $name = null, $default = null)
|
||||||
|
{
|
||||||
|
if (!is_null($name)) {
|
||||||
|
return $this->app->config->get('filesystem.' . $name, $default);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->app->config->get('filesystem');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取磁盘配置
|
||||||
|
* @param string $disk
|
||||||
|
* @param null $name
|
||||||
|
* @param null $default
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getDiskConfig($disk, $name = null, $default = null)
|
||||||
|
{
|
||||||
|
if ($config = $this->getConfig("disks.{$disk}")) {
|
||||||
|
return Arr::get($config, $name, $default);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new InvalidArgumentException("Disk [$disk] not found.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认驱动
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public function getDefaultDriver()
|
||||||
|
{
|
||||||
|
return $this->getConfig('default');
|
||||||
|
}
|
||||||
|
}
|
||||||
33
extend/think/facade/Filesystem.php
Normal file
33
extend/think/facade/Filesystem.php
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2006~2021 http://thinkphp.cn All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: yunwuxin <448901948@qq.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
declare (strict_types = 1);
|
||||||
|
|
||||||
|
namespace think\facade;
|
||||||
|
|
||||||
|
use think\Facade;
|
||||||
|
use think\filesystem\Driver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Filesystem
|
||||||
|
* @package think\facade
|
||||||
|
* @mixin \think\Filesystem
|
||||||
|
* @method static Driver disk(string $name = null) , null|string
|
||||||
|
* @method static mixed getConfig(null|string $name = null, mixed $default = null) 获取缓存配置
|
||||||
|
* @method static array getDiskConfig(string $disk, null $name = null, null $default = null) 获取磁盘配置
|
||||||
|
* @method static string|null getDefaultDriver() 默认驱动
|
||||||
|
*/
|
||||||
|
class Filesystem extends Facade
|
||||||
|
{
|
||||||
|
protected static function getFacadeClass()
|
||||||
|
{
|
||||||
|
return \think\Filesystem::class;
|
||||||
|
}
|
||||||
|
}
|
||||||
130
extend/think/filesystem/Driver.php
Normal file
130
extend/think/filesystem/Driver.php
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2006~2021 http://thinkphp.cn All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: yunwuxin <448901948@qq.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
declare (strict_types = 1);
|
||||||
|
|
||||||
|
namespace think\filesystem;
|
||||||
|
|
||||||
|
use League\Flysystem\Filesystem;
|
||||||
|
use League\Flysystem\FilesystemAdapter;
|
||||||
|
use League\Flysystem\UnableToSetVisibility;
|
||||||
|
use League\Flysystem\UnableToWriteFile;
|
||||||
|
use RuntimeException;
|
||||||
|
use think\Cache;
|
||||||
|
use think\File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Driver
|
||||||
|
* @package think\filesystem
|
||||||
|
* @mixin Filesystem
|
||||||
|
*/
|
||||||
|
abstract class Driver
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var Cache */
|
||||||
|
protected $cache;
|
||||||
|
|
||||||
|
/** @var Filesystem */
|
||||||
|
protected $filesystem;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置参数
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $config = [];
|
||||||
|
|
||||||
|
public function __construct(Cache $cache, array $config)
|
||||||
|
{
|
||||||
|
$this->cache = $cache;
|
||||||
|
$this->config = array_merge($this->config, $config);
|
||||||
|
|
||||||
|
$adapter = $this->createAdapter();
|
||||||
|
$this->filesystem = $this->createFilesystem($adapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract protected function createAdapter(): FilesystemAdapter;
|
||||||
|
|
||||||
|
protected function createFilesystem(FilesystemAdapter $adapter): Filesystem
|
||||||
|
{
|
||||||
|
$config = array_intersect_key($this->config, array_flip(['visibility', 'disable_asserts', 'url']));
|
||||||
|
|
||||||
|
return new Filesystem($adapter, $config);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取文件完整路径
|
||||||
|
* @param string $path
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function path(string $path): string
|
||||||
|
{
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function concatPathToUrl($url, $path)
|
||||||
|
{
|
||||||
|
return rtrim($url, '/') . '/' . ltrim($path, '/');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function url(string $path): string
|
||||||
|
{
|
||||||
|
throw new RuntimeException('This driver does not support retrieving URLs.');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存文件
|
||||||
|
* @param string $path 路径
|
||||||
|
* @param File $file 文件
|
||||||
|
* @param null|string|\Closure $rule 文件名规则
|
||||||
|
* @param array $options 参数
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
|
public function putFile(string $path, File $file, $rule = null, array $options = [])
|
||||||
|
{
|
||||||
|
return $this->putFileAs($path, $file, $file->hashName($rule), $options);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指定文件名保存文件
|
||||||
|
* @param string $path 路径
|
||||||
|
* @param File $file 文件
|
||||||
|
* @param string $name 文件名
|
||||||
|
* @param array $options 参数
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
|
public function putFileAs(string $path, File $file, string $name, array $options = [])
|
||||||
|
{
|
||||||
|
$stream = fopen($file->getRealPath(), 'r');
|
||||||
|
$path = trim($path . '/' . $name, '/');
|
||||||
|
|
||||||
|
$result = $this->put($path, $stream, $options);
|
||||||
|
|
||||||
|
if (is_resource($stream)) {
|
||||||
|
fclose($stream);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result ? $path : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function put(string $path, $contents, array $options = [])
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$this->writeStream($path, $contents, $options);
|
||||||
|
} catch (UnableToWriteFile|UnableToSetVisibility $e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __call($method, $parameters)
|
||||||
|
{
|
||||||
|
return $this->filesystem->$method(...$parameters);
|
||||||
|
}
|
||||||
|
}
|
||||||
98
extend/think/filesystem/driver/Local.php
Normal file
98
extend/think/filesystem/driver/Local.php
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2006~2021 http://thinkphp.cn All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: yunwuxin <448901948@qq.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
declare (strict_types = 1);
|
||||||
|
|
||||||
|
namespace think\filesystem\driver;
|
||||||
|
|
||||||
|
use League\Flysystem\FilesystemAdapter;
|
||||||
|
use League\Flysystem\Local\LocalFilesystemAdapter;
|
||||||
|
use League\Flysystem\PathNormalizer;
|
||||||
|
use League\Flysystem\PathPrefixer;
|
||||||
|
use League\Flysystem\UnixVisibility\PortableVisibilityConverter;
|
||||||
|
use League\Flysystem\Visibility;
|
||||||
|
use League\Flysystem\WhitespacePathNormalizer;
|
||||||
|
use think\filesystem\Driver;
|
||||||
|
|
||||||
|
class Local extends Driver
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 配置参数
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $config = [
|
||||||
|
'root' => '',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var PathPrefixer
|
||||||
|
*/
|
||||||
|
protected $prefixer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var PathNormalizer
|
||||||
|
*/
|
||||||
|
protected $normalizer;
|
||||||
|
|
||||||
|
protected function createAdapter(): FilesystemAdapter
|
||||||
|
{
|
||||||
|
$visibility = PortableVisibilityConverter::fromArray(
|
||||||
|
$this->config['permissions'] ?? [],
|
||||||
|
$this->config['visibility'] ?? Visibility::PRIVATE
|
||||||
|
);
|
||||||
|
|
||||||
|
$links = ($this->config['links'] ?? null) === 'skip'
|
||||||
|
? LocalFilesystemAdapter::SKIP_LINKS
|
||||||
|
: LocalFilesystemAdapter::DISALLOW_LINKS;
|
||||||
|
|
||||||
|
return new LocalFilesystemAdapter(
|
||||||
|
$this->config['root'],
|
||||||
|
$visibility,
|
||||||
|
$this->config['lock'] ?? LOCK_EX,
|
||||||
|
$links
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function prefixer()
|
||||||
|
{
|
||||||
|
if (!$this->prefixer) {
|
||||||
|
$this->prefixer = new PathPrefixer($this->config['root'], DIRECTORY_SEPARATOR);
|
||||||
|
}
|
||||||
|
return $this->prefixer;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function normalizer()
|
||||||
|
{
|
||||||
|
if (!$this->normalizer) {
|
||||||
|
$this->normalizer = new WhitespacePathNormalizer();
|
||||||
|
}
|
||||||
|
return $this->normalizer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取文件访问地址
|
||||||
|
* @param string $path 文件路径
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function url(string $path): string
|
||||||
|
{
|
||||||
|
$path = $this->normalizer()->normalizePath($path);
|
||||||
|
|
||||||
|
if (isset($this->config['url'])) {
|
||||||
|
return $this->concatPathToUrl($this->config['url'], $path);
|
||||||
|
}
|
||||||
|
return parent::url($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function path(string $path): string
|
||||||
|
{
|
||||||
|
return $this->prefixer()->prefixPath($path);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,10 +26,7 @@ class Txcos extends Driver
|
|||||||
'bucket' => $bucket,
|
'bucket' => $bucket,
|
||||||
|
|
||||||
// 可选,如果 bucket 为私有访问请打开此项
|
// 可选,如果 bucket 为私有访问请打开此项
|
||||||
'signed_url' => false,
|
'signed_url' => false
|
||||||
|
|
||||||
// 可选,是否使用 https,默认 false
|
|
||||||
'use_https' => true,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$adapter = new CosAdapter($config);
|
$adapter = new CosAdapter($config);
|
||||||
|
|||||||
Reference in New Issue
Block a user