CaiWuXiTong/config/filesystems.php

168 lines
5.1 KiB
PHP

<?php
$businessStorage = require __DIR__ . '/business_storage.php';
$qiniu = $businessStorage['qiniu'];
$localUploadsDisk = [
'driver' => 'local',
'root' => storage_path('app/uploads'),
'url' => app()->runningInConsole() ? '' : url('/') . '/uploads',
'visibility' => 'private',
'throw' => false,
];
$qiniuUploadsDisk = [
'driver' => 's3',
'key' => $qiniu['access_key'],
'secret' => $qiniu['secret_key'],
'region' => $qiniu['region'],
'bucket' => $qiniu['bucket'],
'endpoint' => $qiniu['endpoint'],
'root' => $qiniu['root'],
'use_path_style_endpoint' => true,
'visibility' => 'private',
'stream_reads' => true,
'throw' => true,
];
$uploadsDisk = $businessStorage['driver'] === 'qiniu'
? $qiniuUploadsDisk
: $localUploadsDisk;
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application. Just store away!
|
*/
'default' => 'uploads',
/*
|--------------------------------------------------------------------------
| Default Cloud Filesystem Disk
|--------------------------------------------------------------------------
|
| Many applications store files both locally and in the cloud. For this
| reason, you may specify a default "cloud" driver here. This driver
| will be bound as the Cloud disk implementation in the container.
|
*/
'cloud' => 'uploads',
/*
|--------------------------------------------------------------------------
| Allowed file mimes
|--------------------------------------------------------------------------
*/
'mimes' => env('FILESYSTEM_MIMES', 'pdf,jpeg,jpg,png'),
/*
|--------------------------------------------------------------------------
| Allowed file max size, in MB
|--------------------------------------------------------------------------
*/
'max_size' => env('FILESYSTEM_MAX_SIZE', '2'),
/*
|--------------------------------------------------------------------------
| Allowed image max width, in pixes
|--------------------------------------------------------------------------
*/
'max_width' => env('FILESYSTEM_MAX_WIDTH', '1000'),
/*
|--------------------------------------------------------------------------
| Allowed image max height, in pixes
|--------------------------------------------------------------------------
*/
'max_height' => env('FILESYSTEM_MAX_HEIGHT', '1000'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Here you may configure as many filesystem "disks" as you wish, and you
| may even configure multiple disks of the same driver. Defaults have
| been set up for each driver as an example of the required values.
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'throw' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => app()->runningInConsole() ? '' : url('/') . '/storage',
'visibility' => 'public',
'throw' => false,
],
'temp' => [
'driver' => 'local',
'root' => storage_path('app/temp'),
'url' => app()->runningInConsole() ? '' : url('/') . '/temp',
'visibility' => 'private',
'throw' => false,
],
// Stable logical disk used by all business uploads. The implementation
// switches as one unit, so existing media rows keep the same disk name.
'uploads' => $uploadsDisk,
// Fixed source and destination disks used by the idempotent one-time
// migration. Local originals are retained for rollback.
'business_uploads_local' => $localUploadsDisk,
'business_uploads_qiniu' => $qiniuUploadsDisk,
's3' => [
'driver' => 'local',
'root' => storage_path('app/uploads'),
'url' => app()->runningInConsole() ? '' : url('/') . '/uploads',
'visibility' => 'private',
'throw' => false,
],
],
/*
|--------------------------------------------------------------------------
| Symbolic Links
|--------------------------------------------------------------------------
|
| Here you may configure the symbolic links that will be created when the
| `storage:link` Artisan command is executed. The array keys should be
| the locations of the links and the values should be their targets.
|
*/
'links' => [
public_path('storage') => storage_path('app/public'),
],
];