Flysystem は、実装の詳細を気にすることなく、ローカル ファイル システム、Amazon S3、Dropbox、その他のリモート ストレージ システムと対話するために使用できる、シンプルでユニバーサルなファイル システム インターフェイスを提供する PHP ライブラリです。その使いやすさ、柔軟性、拡張性により、PHP 開発者が信頼性の高いファイル システム アプリケーションを構築するための推奨ツールとなっています。
この記事では、Flysystem ファイル システム ツールの使用方法と、それを PHP アプリケーションで使用してファイル システムを管理する方法を紹介します。
1. インストールと構成
Flysystem の使用を開始する前に、関連する依存関係と Flysystem ライブラリをインストールする必要があります。 Composer を使用してインストールし、次のコマンドを実行できます:
composer require league/flysystem
インストール後、Flysystem のオートローダーを導入する必要があります。これは次の方法で実現できます:
require 'vendor/autoload.php';
次に、必要に応じてさまざまなストレージ システムと対話するために、適切なアダプタをインスタンス化する必要があります。たとえば:
use LeagueFlysystemAdapterLocal; $adapter = new Local('/path/to/root');
ここではローカル アダプタが使用されます。ファイルはシステムのルート ディレクトリとして指定されます。もちろん、他のアダプタを使用して他のストレージ システムに接続することもできます。
2. 基本操作
ファイル システム操作を作成する前に、ファイル システム オブジェクトをインスタンス化し、以前に作成したアダプターを使用する必要があります。次のようにローカル ファイル システムを初期化できます:
use LeagueFlysystemFilesystem; $filesystem = new Filesystem($adapter);
基本的な操作をいくつか示します:
$filesystem->write('filename.txt', 'content');
if ($filesystem->has('filename.txt')) { // do something }
$content = $filesystem->read('filename.txt');
$filesystem->update('filename.txt', 'new content');
$filesystem->delete('filename.txt');
$filesystem->createDir('path/to/directory');
$files = $filesystem->listContents('path/to/directory');
$metadata = $filesystem->getMetadata('path/to/directory');
if ($filesystem->has('path/to/directory')) { // do something }
use LeagueFlysystemAwsS3v3AwsS3Adapter; $client = new AwsS3S3Client([ 'credentials' => [ 'key' => 'your-aws-access-key-id', 'secret' => 'your-aws-secret-access-key', ], 'region' => 'us-west-2', 'version' => 'latest', ]); $adapter = new AwsS3Adapter($client, 'bucket-name'); $filesystem = new Filesystem($adapter);
use LeagueFlysystemDropboxDropboxAdapter; $token = 'your-dropbox-access-token'; $adapter = new DropboxAdapter(new SpatieDropboxClient($token)); $filesystem = new Filesystem($adapter);
以上がPHP で Flysystem ファイル システム ツールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。