for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?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 <[email protected]>
declare (strict_types = 1);
namespace think\filesystem\driver;
use League\Flysystem\Local\LocalFilesystemAdapter;
use League\Flysystem\UnixVisibility\PortableVisibilityConverter;
use League\Flysystem\Visibility;
use think\filesystem\Driver;
class Local extends Driver
{
/**
* 配置参数
* @var array
*/
protected $config = [
'root' => '',
];
protected function createAdapter(): LocalFilesystemAdapter
$links = ($this->config['links'] ?? null) === 'skip'
? LocalFilesystemAdapter::SKIP_LINKS
: LocalFilesystemAdapter::DISALLOW_LINKS;
$visibility = PortableVisibilityConverter::fromArray(
$config['permissions'] ?? [],
$config
isset
false
$config['directory_visibility'] ?? $config['visibility'] ?? Visibility::PRIVATE
);
return new LocalFilesystemAdapter(
$this->config['root'],
$visibility,
$config['lock'] ?? LOCK_EX,
$links
}