파일 저장
ㅋㅋ |
파일 저장소
- 소개
- 구성
- 공용 디스크
- 로컬 드라이브
- 드라이버 전제 조건
- 캐시 파일 적음
- 파일 업로드
- 파일 가시성
-
- Laravel 소개
- 강력한 파일 제공 Frank de Jonge의 강력한 Flysystem 확장팩의 이점을 누릴 수 있는 시스템 추상화입니다. Laravel 파일 시스템 통합은 로컬 파일 시스템, Amazon S3 및 Rackspace 클라우드 스토리지 작업을 위한 사용하기 쉬운 드라이버를 제공합니다. 더 좋은 점은 API가 각 시스템마다 동일하게 유지되므로 이러한 스토리지 옵션 간 전환이 간단하다는 것입니다.
- Configuration파일 시스템의 구성 파일은 에 있습니다. 이 파일에서는 모든 "디스크"를 구성할 수 있습니다. 각 디스크는 특정 스토리지 드라이브와 스토리지 위치를 나타냅니다. 지원되는 각 드라이버에 대한 샘플 구성이 구성 파일에 포함되어 있습니다. 따라서 스토리지 기본 설정 및 자격 증명을 반영하도록 구성을 수정하면 됩니다.
- 물론 필요에 따라 여러 디스크를 구성할 수 있으며 여러 디스크가 동일한 드라이버를 공유하도록 만들 수도 있습니다.
공용 디스크
공용
디스크는 공개적으로 액세스할 수 있는 파일용입니다. 기본적으로 공용
디스크는 로컬
드라이버를 사용하고 이러한 파일을 storage/app/public
디렉터리에 저장합니다. 네트워크를 통해 액세스할 수 있게 하려면 public/storage
에서 storage/app/public
으로의 심볼릭 링크를 생성해야 합니다. 이 접근 방식은 공개적으로 액세스 가능한 파일을 동일한 디렉터리에 유지하므로 Envoyer와 같은 다운타임 없는 배포 시스템을 사용할 때 이러한 파일을 여러 배포 간에 쉽게 공유할 수 있습니다. Artisan 명령어 storage:link
를 사용하여 심볼릭 링크를 생성할 수 있습니다: public
磁盘适用于要公开访问的文件。默认情况下, public
磁盘使用 local
驱动,并且将这些文件存储在 storage/app/public
目录下。为了使它们能通过网络访问,你需要创建 public/storage
到 storage/app/public
的符号链接。这种方式能把可公开访问文件都保留在同一个目录下,以便在使用零停机时间部署系统如 Envoyer 的时候,就可以轻松地在不同的部署之间共享这些文件。你可以使用 Artisan 命令 storage:link
来创建符号链接:
你可以使用 Artisan 命令 storage:link
来创建符号链接:
php artisan storage:link
当然,一旦一个文件被存储并且已经创建了符号链接,你就可以使用辅助函数 asset
来创建文件的 URL:
echo asset('storage/file.txt');
本地驱动
使用 local
驱动时,所有文件操作都与你在配置文件中定义的 root
目录相关。该目录的默认值是 storage/app
。因此,以下方法会把文件存储在 storage/app/file.txt
中:
Storage::disk('local')->put('file.txt', 'Contents');
驱动程序先决条件
Composer 包
在使用 SFTP、S3 或 Rackspace 等驱动之前,你需要通过 Composer 安装相应的软件包:
- SFTP:
league/flysystem-sftp ~1.0
- Amazon S3:
league/flysystem-aws-s3-v3 ~1.0
- Rackspace:
league/flysystem-rackspace ~1.0
使用缓存适配器是提高性能的一个绝对必要条件。你需要一个额外的包:
- CachedAdapter:
league/flysystem-cached-adapter ~1.0
S3 驱动配置
S3 驱动配置信息位于你的 config/filesystems.php
配置文件中。该文件包含 S3 驱动程序的示例配置数组。 你可以自由使用你自己的 S3 配置和凭证修改此阵列。 为方便起见,这些环境变量与 AWS CLI 使用的命名约定相匹配。
FTP 驱动配置
Laravel 的文件系统集成能很好的支持 FTP,不过 FTP 的配置示例并没有被包含在框架默认的 filesystems.php
storage:link
를 사용하여 심볼릭 링크를 생성할 수 있습니다: 'ftp' => [ 'driver' => 'ftp', 'host' => 'ftp.example.com', 'username' => 'your-username', 'password' => 'your-password', // 可选的 FTP 配置项... // 'port' => 21, // 'root' => '', // 'passive' => true, // 'ssl' => true, // 'timeout' => 30, ],
asset
를 사용하여 파일의 URL을 생성할 수 있습니다: 🎜'sftp' => [ 'driver' => 'sftp', 'host' => 'example.com', 'username' => 'your-username', 'password' => 'your-password', // 基于 SSH 密钥的身份验证设置... // 'privateKey' => '/path/to/privateKey', // 'password' => 'encryption-password', // 可选的 SFTP 配置... // 'port' => 22, // 'root' => '', // 'timeout' => 30, ],🎜🎜< div name="3370e9" data-unique="3370e9">🎜🎜로컬 드라이버🎜🎜
로컬
드라이버를 사용하면 모든 파일 작업이 root는 구성 파일 코드> 디렉토리에 정의했습니다. 이 디렉터리의 기본값은 storage/app
입니다. 따라서 다음 방법은 파일을 storage/app/file.txt
에 저장합니다: 🎜'rackspace' => [
'driver' => 'rackspace',
'username' => 'your-username',
'key' => 'your-key',
'container' => 'your-container',
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
'region' => 'IAD',
'url_type' => 'publicURL',
],
🎜🎜🎜🎜드라이버 전제 조건🎜🎜Composer 패키지
🎜SFTP, S3 또는 Rackspace와 같은 드라이버를 사용하는 경우 이전에 , Composer를 통해 해당 소프트웨어 패키지를 설치해야 합니다: 🎜- SFTP:
league/flysystem-sftp ~1.0
- Amazon S3:
league/ flysystem-aws-s3-v3 ~1.0
- Rackspace:
league/flysystem-rackspace ~1.0
🎜캐시 어댑터를 사용하는 것은 개선 성능을 위해서는 절대적으로 필요합니다. 추가 패키지가 필요합니다: 🎜- CachedAdapter:
league/flysystem-cached-adapter ~1.0
🎜S3 드라이버 구성
🎜S3 드라이버 구성 정보는 config/filesystems.php
구성 파일에 있습니다. 이 파일에는 S3 드라이버에 대한 샘플 구성 배열이 포함되어 있습니다. 자신의 S3 구성 및 자격 증명을 사용하여 이 어레이를 자유롭게 수정할 수 있습니다. 편의상 이러한 환경 변수는 AWS CLI에서 사용하는 명명 규칙과 일치합니다. 🎜🎜FTP 드라이버 구성
🎜Laravel의 파일 시스템 통합은 FTP를 매우 잘 지원할 수 있지만 FTP 구성 예는 포함되어 있지 않습니다. 프레임워크의 기본 < code>filesystems.php 파일. 필요한 경우 다음 샘플 구성을 사용할 수 있습니다. 🎜's3' => [
'driver' => 's3',
// 驱动器其他配置...
'cache' => [
'store' => 'memcached',
'expire' => 600,
'prefix' => 'cache-prefix',
],
],
🎜🎜SFTP 드라이버 구성
Laravel의 Flysystem 통합 패키지는 SFTP와 매우 잘 작동하지만 프레임워크의 기본 구성 파일 filesystems.php
에는 샘플 구성이 포함되어 있지 않습니다. SFTP 파일 시스템을 구성하려면 다음 샘플 구성을 사용할 수 있습니다. filesystems.php
中并没有包含示范配置。如果要配置 SFTP 文件系统,可以使用如下示例配置:
use Illuminate\Support\Facades\Storage;
Storage::put('avatars/1', $fileContents);
Rackspace 驱动器配置
Laravel 的 Flysystem 集成包与 Rackspace 协同得非常好;不过,在该框架的默认配置文件 filesystems.php
中并没有包含示范配置。如果要配置 Rackspace 文件系统,可以使用如下示例配置:
Storage::disk('s3')->put('avatars/1', $fileContents);
缓存
给指定磁盘开启缓存功能,需要在该磁盘的配置项中直接添加 cache
。 cache
选项应该是一个缓存配置的数组,由缓存驱动名称 store
(译者注:文档原始描述文字 disk
与示例代码中的 store
不一致,验证代码后的确应该是 store
,故作此修改。)、 单位为秒的过期时间 expire
,以及缓存前缀 prefix
组成:
$contents = Storage::get('file.jpg');
获取磁盘实例
Storage
门面可用于与任何已配置的磁盘进行交互。例如,你可以使用门面中的 put
方法将头像存储到默认磁盘。如果你使用 Storage
门面中的任何方法,而一开始并没有使用 disk
方法,那么所调用的方法会自动传递给默认的磁盘:
$exists = Storage::disk('s3')->exists('file.jpg');
如果应用程序要与多个磁盘进行互操作,可使用 Storage
门面中的 disk
方法对特定磁盘上的文件进行操作:
return response()->download('file.jpg');
return response()->download('file.jpg', $name, $headers);
检索文件
get
方法可以用于检索文件的内容,此方法返回该文件的原始字符串内容。 切记,所有文件路径的指定都应该相对于为磁盘配置的「root」目录:
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg');
exists
方法可以用来判断磁盘上是否存在指定的文件:
$url = Storage::temporaryUrl(
'file.jpg', now()->addMinutes(5)
);
下载文件
download
方法可用于生成一个响应,强制用户的浏览器在给定路径下载文件。 download
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
Rackspace 드라이브 구성Laravel의 Flysystem 통합 패키지는 다음과 매우 잘 작동합니다. Rackspace, 그러나 프레임워크의 기본 구성 파일 filesystems.php
에는 샘플 구성이 포함되어 있지 않습니다. Rackspace 파일 시스템을 구성하려면 다음 샘플 구성을 사용할 수 있습니다.
use Illuminate\Support\Facades\Storage;
$size = Storage::size('file.jpg');
🎜🎜 캐싱
🎜특정 디스크에 대한 캐시 기능을 활성화하려면 해당 디스크의 구성 항목에 캐시
를 직접 추가해야 합니다. cache
옵션은 캐시 드라이버 이름 store
에 의해 구동되는 캐시 구성의 배열이어야 합니다(번역자 참고 사항: 문서 disk
는 예시 코드와 같습니다. store
가 일치하지 않습니다. 코드를 확인한 후 실제로는 store
여야 하므로 이렇게 수정했습니다.) 초 만료
이고 캐시. 접두사 접두사
는 🎜$time = Storage::lastModified('file.jpg');
🎜🎜🎜🎜디스크 인스턴스 가져오기
🎜 Storage
파사드는 구성된 디스크와 상호 작용하는 데 사용할 수 있습니다. 예를 들어, 파사드에서 put
메소드를 사용하여 아바타를 기본 디스크에 저장할 수 있습니다. 처음에 disk
메서드를 사용하지 않고 Storage
파사드에서 메서드를 사용하면 호출된 메서드가 자동으로 기본 디스크에 전달됩니다. 🎜use Illuminate\Support\Facades\Storage;
Storage::put('file.jpg', $contents);
Storage::put('file.jpg', $resource);
🎜여러 개의 디스크와 상호 운용하려면 디스크의 경우, 애플리케이션은 Storage
파사드의 disk
메소드를 사용하여 특정 디스크의 파일에 대해 작업을 수행할 수 있습니다: 🎜use Illuminate\Http\File;
use Illuminate\Support\Facades\Storage;
// 自动为文件名生成唯一的ID...
Storage::putFile('photos', new File('/path/to/photo'));
// 手动指定文件名...
Storage::putFileAs('photos', new File('/path/to/photo'), 'photo.jpg');
🎜🎜 🎜🎜파일 검색
🎜get
메소드를 사용하여 파일 내용을 검색할 수 있습니다. 이 메소드는 다음을 반환합니다. 파일의 원래 문자열 내용. 모든 파일 경로 지정은 디스크에 대해 구성된 "루트" 디렉터리를 기준으로 해야 한다는 점을 기억하세요. 🎜Storage::putFile('photos', new File('/path/to/photo'), 'public');
🎜exists
이 방법을 사용하면 지정된 파일이 디스크에 존재하는지 여부를 확인할 수 있습니다. 🎜Storage::prepend('file.log', 'Prepended Text');
Storage::append('file.log', 'Appended Text');
🎜 🎜🎜🎜파일 다운로드
🎜다운로드
방법을 사용할 수 있습니다. 응답을 생성하기 위해 사용자의 브라우저가 지정된 경로에서 파일을 다운로드하도록 강제합니다. download
메소드는 파일 이름을 메소드의 두 번째 매개변수로 허용하며, 이는 사용자가 파일을 다운로드할 때 표시되는 파일 이름을 결정합니다. 마지막으로 HTTP 배열 헤더를 메소드의 세 번째 인수로 전달할 수 있습니다: 🎜Storage::copy('old/file.jpg', 'new/file.jpg');
Storage::move('old/file.jpg', 'new/file.jpg');
🎜🎜🎜🎜🎜🎜파일 URL
url
메소드를 사용하여 특정 파일의 URL을 얻을 수 있습니다. local
드라이버를 사용하는 경우 일반적으로 주어진 경로에 /storage
를 추가하고 해당 파일에 대한 상대 URL을 반환합니다. s3
또는 rackspace
드라이버를 사용하는 경우 전체 원격 URL이 반환됩니다. url
方法来获取给定文件的 URL。如果你使用的时 local
驱动,一般只是在给定的路径上加上 /storage
并返回一个相对的 URL 到那个文件。如果使用的是 s3
或者是 rackspace
驱动,会返回完整的远程 URL:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class UserAvatarController extends Controller{
/**
* 更新用户头像.
*
* @param Request $request
* @return Response
*/
public function update(Request $request)
{
$path = $request->file('avatar')->store('avatars');
return $path;
}
}
{note} 切记,如果使用的是 local
驱动,则所有想被公开访问的文件都应该放在 storage/app/public
目录下。此外你应该在 public/storage
创建一个符号链接 来指向 storage/app/public
目录。
临时 URLs
当使用 s3
或 rackspace
驱动来存储文件,可以使用 temporaryUrl
方法创建给定文件的临时 URL。这个方法会接收路径和 DateTime
实例来指定 URL 何时过期:
$path = Storage::putFile('avatars', $request->file('avatar'));
自定义本地 URL 主机
如果要使用 local
驱动为存储在磁盘上的文件预定义主机,可以向磁盘配置数组添加一个 url
选项:
$path = $request->file('avatar')->storeAs('avatars', $request->user()->id);
文件元数据
除了读写文件外,Laravel 还可以提供有关文件本身的信息,例如,size
方法可用来获取文件的大小(以字节为单位):
$path = Storage::putFileAs('avatars', $request->file('avatar'), $request->user()->id);
lastModified
方法返回文件最后一次被修改的 UNIX 时间戳:
$path = $request->file('avatar')->store('avatars/'.$request->user()->id, 's3');
保存文件
put
方法可用于将原始文件内容保存到磁盘上。你也可以传递 PHP 的 resource
给 put
use Illuminate\Support\Facades\Storage;
Storage::put('file.jpg', $contents, 'public');
{note} 를 사용하는 경우 기억하세요. 로컬
드라이버를 사용하는 경우 공개적으로 액세스할 수 있는 모든 파일은 storage/app/public
디렉토리에 있어야 합니다. 또한 storage/app/public
public/storage 에 심볼릭 링크를 생성해야 합니다. > 디렉토리 . 임시 URL
🎜s3
또는 rackspace
사용 시 파일을 저장하는 드라이버인 경우 temporaryUrl
메서드를 사용하여 특정 파일에 대한 임시 URL을 생성할 수 있습니다. 이 메소드는 경로와 DateTime
인스턴스를 수신하여 URL이 만료되는 시기를 지정합니다: 🎜$visibility = Storage::getVisibility('file.jpg');
Storage::setVisibility('file.jpg', 'public')
🎜사용자 정의 로컬 URL 호스트< / h4>🎜local
드라이버를 사용하여 디스크에 저장된 파일에 대한 호스트를 미리 정의하려면 디스크 구성 배열에 url
옵션을 추가할 수 있습니다: 🎜use Illuminate\Support\Facades\Storage;
Storage::delete('file.jpg');
Storage::delete(['file.jpg', 'file2.jpg']);
🎜 🎜🎜🎜파일 메타데이터🎜🎜파일을 읽고 쓰는 것 외에도 Laravel은 다음에 대한 정보도 제공할 수 있습니다. 와 같은 파일 자체, size
메소드를 사용하여 파일 크기(바이트 단위)를 얻을 수 있습니다. 🎜use Illuminate\Support\Facades\Storage;
Storage::disk('s3')->delete('folder_path/file_name.jpg');
🎜 lastModified
메소드는 다음의 UNIX 타임스탬프를 반환합니다. 파일이 마지막으로 수정된 시간: 🎜use Illuminate\Support\Facades\Storage;
$files = Storage::files($directory);
$files = Storage::allFiles($directory);
🎜 🎜🎜파일 저장 중
🎜put
방법 원본 파일 내용을 디스크에 저장하는 데 사용할 수 있습니다. 파일 시스템에서 기본 스트림 지원을 사용하는 put
메서드에 PHP 리소스
를 전달할 수도 있습니다. 대용량 파일 작업 시 이 방법을 사용하는 것이 좋습니다: 🎜$directories = Storage::directories($directory);
// 递归...
$directories = Storage::allDirectories($directory);
🎜🎜자동 스트리밍
Laravel이 특정 파일을 저장 위치로 자동 스트리밍하도록 하려면 putFile
또는 putFileAs
메서드를 사용할 수 있습니다. 이 메소드는 IlluminateHttpFile
또는 IlluminateHttpUploadedFile
인스턴스를 수신하고 파일을 원하는 위치로 자동 스트리밍합니다: putFile
或 putFileAs
方法。这个方法接收 IlluminateHttpFile
或 IlluminateHttpUploadedFile
实例,并自动将文件流式传输到你想要传输的位置:
Storage::makeDirectory($directory);
关于 putFile
方法,有些点需要注意。我们指定的是一个目录名而不是文件名。默认情况下, putFile
方法会生成一个唯一的 ID 作为文件名。文件的扩展名根据检测文件的 MIME 类型来确定。 putFile
方法会返回文件路径,以便你可以将文件路径(包括生成的文件名)存储在数据库中。
putFile
和 putFileAs
方法也接受一个方法来指定存储文件的 「可见性」。如果你将文件存储在诸如 S3 的云盘上,并且想让该文件公开访问,则可以使用以下功能:
Storage::deleteDirectory($directory);
文件数据写入
prepend
和 append
方法允许你在文件的开头或结尾写入数据:
composer require spatie/flysystem-dropbox
复制 & 移动文件
copy
方法用来复制文件到磁盘上的新位置,而 move
方法用来重命名或移动文件到新位置:
<?php
namespace App\Providers;
use Storage;use League\Flysystem\Filesystem;
use Illuminate\Support\ServiceProvider;
use Spatie\Dropbox\Client as DropboxClient;
use Spatie\FlysystemDropbox\DropboxAdapter;
class DropboxServiceProvider extends ServiceProvider{
/**
* 执行注册后引导驱动.
*
* @return void
*/
public function boot()
{
Storage::extend('dropbox', function ($app, $config) {
$client = new DropboxClient(
$config['authorization_token']
);
return new Filesystem(new DropboxAdapter($client));
});
}
/**
* 在容器中注册绑定.
*
* @return void
*/
public function register()
{
//
}
}
文件上传
在 web 应用程序中,最常用到的文件存储的场景的地方就是上传头像,照片和文件。Laravel 上传文件的实例方法 store
可以轻松的处理文件上传存储问题。你只需要调用带有文件保存路径作为参数的 store
方法即可:
'providers' => [
// ...
App\Providers\DropboxServiceProvider::class,
];
上例有几个点需要注意。我们指定的是目录名,而不是文件名。默认情况下, store
方法会自动生成唯一的 ID 作为文件名。文件的扩展名将通过检查文件的 MIME 类型来确定。该文件的路径和文件名会被 store
方法返回,以便后续数据库的存储使用。
你也可以使用 Storage
facade 上的 putFile
方法达到和上例同样的效果:
rrreee指定文件名
如果你不想将文件名自动分配给存储的文件,可以使用 storeAs
方法,该方法接受路径,文件名和 (可选) 磁盘作为其参数:
rrreee你可以使用 Storage
facade 上的 putFileAs
rrreee
putFile
메소드 정보, 주의가 필요한 몇 가지 사항이 있습니다. 파일 이름보다는 디렉터리 이름을 지정합니다. 기본적으로 putFile
메서드는 파일 이름으로 고유 ID를 생성합니다. 파일 확장자는 탐지된 파일의 MIME 유형에 따라 결정됩니다. putFile
메서드는 파일 경로(생성된 파일 이름 포함)를 데이터베이스에 저장할 수 있도록 파일 경로를 반환합니다. putFile
및 putFileAs
메서드는 저장된 파일의 "가시성"을 지정하는 메서드도 허용합니다. S3와 같은 클라우드 디스크에 파일을 저장하고 해당 파일에 공개적으로 액세스할 수 있도록 하려면 다음 기능을 사용할 수 있습니다. 🎜rrreee🎜🎜파일 데이터 쓰기 🎜🎜prepend
및 append
메서드를 사용하면 파일의 시작이나 끝 부분에 데이터를 쓸 수 있습니다. 🎜rrreee🎜 🎜파일 복사 및 이동🎜🎜copy
방법은 파일을 디스크의 새 위치로 복사하는 데 사용되는 반면, move
방법은 파일 이름을 바꾸거나 파일을 이동하는 데 사용됩니다. 새로운 위치: 🎜rrreee 🎜🎜🎜파일 업로드
🎜가장 일반적으로 웹 애플리케이션에서 사용되는 파일 저장 장면은 아바타, 사진, 파일을 업로드하는 곳입니다. 파일 업로드를 위한 Laravel의 인스턴스 메소드 store
는 파일 업로드 및 저장 문제를 쉽게 처리할 수 있습니다. 파일 저장 경로를 매개변수로 사용하여 store
메소드를 호출하기만 하면 됩니다. 🎜rrreee🎜위의 예에서 주목해야 할 몇 가지 사항이 있습니다. 파일 이름이 아닌 디렉터리 이름을 지정합니다. 기본적으로 store
메소드는 고유 ID를 파일 이름으로 자동 생성합니다. 파일의 확장자는 파일의 MIME 유형을 확인하여 결정됩니다. 파일의 경로와 파일 이름은 후속 데이터베이스 저장을 위해 store
메소드에 의해 반환됩니다. 🎜🎜Storage
파사드에서 putFile
메소드를 사용하여 위의 예와 동일한 효과를 얻을 수도 있습니다: 🎜rrreee🎜🎜파일 이름을 지정하세요🎜🎜파일 이름이 저장된 파일에 자동으로 할당되는 것을 원하지 않는 경우 경로, 파일 이름 및 ( 선택적으로) 디스크를 매개변수로 사용: 🎜 rrreee🎜 Storage
파사드에서 putFileAs
메소드를 사용하여 위의 예와 동일한 파일 작업을 수행할 수 있습니다: 🎜rrreee🎜🎜디스크 지정
기본적으로 store
방법은 기본 디스크를 사용합니다. 다른 디스크를 지정해야 하는 경우 디스크 이름을 store
메소드의 두 번째 매개변수로 전달할 수 있습니다: store
方法使用默认磁盘。如果你需要指定其他的磁盘,可以传入磁盘名作为 store
方法的第二个参数:
rrreee文件可见性
在 Laravel 集成的文件系统中,「可见性」是对多个平台的文件权限的抽象。文件可以声明为 public
或 private
。如果一个文件被声明为 public
,意味着其他人可以访问。例如,使用 S3 驱动时,就可以检索声明为 public
的文件。
你可以通过 put
方法设置文件的可见性:
rrreeegetVisibility
和 setVisibility
方法可以对现存文件的可见性进行查询和设置:
rrreee删除文件
delete
方法接收一个文件名或数组形式的文件名来删除磁盘上的文件:
rrreee必要的话,可以指定磁盘名来删除其下的文件:
rrreee目录
获取目录下的所有的文件
files
方法返回指定目录下的所有文件。如果你想检索指定目录(包括子目录)中所有的文件列表,可以使用 allFiles
方法:
rrreee获取目录下的所有目录
directories
方法返回指定目录下所有目录的数组。此外,你可以使用 allDirectories
方法获取指定目录以及其子目录下所有目录的列表:
rrreee创建目录
makeDirectory
方法会递归创建目录:
rrreee删除目录
deleteDirectory
rrreee
파일 가시성
Laravel 통합 파일 시스템에서 "가시성"은 여러 플랫폼에서의 파일 권한을 추상화한 것입니다. 파일은 공개
또는 비공개
로 선언될 수 있습니다. 파일이 공개
로 선언되면 다른 사람이 해당 파일에 액세스할 수 있다는 의미입니다. 예를 들어 S3 드라이버를 사용하는 경우 public
으로 선언된 파일을 검색할 수 있습니다. put
메소드를 통해 파일의 공개 여부를 설정할 수 있습니다. 🎜rrreee🎜 getVisibility
및 setVisibility
메소드는 기존 파일의 공개 여부를 쿼리할 수 있습니다. 및 설정: 🎜rrreee🎜🎜🎜