はじめに
Laravelのストレージ操作用にAmazon S3、Rackspaceを簡単に操作できるドライバが提供されています。1
実はDropboxを操作するドライバも既に実装している人がいるので、その設定方法を書きます。
環境や前提条件
- Laravel 5.1以上
- Dropboxのアクセストークン2
導入方法
インストール手順
まずは、composerを使ってLaravelでdropboxを使うためのライブラリをインストールする。
composer require benjamincrozat/laravel-dropbox-driver
設定手順
あとはいつものお決まりで、config/app.php
とapp/filesystem.php
に以下の記述を追加する。
config/app.php
'providers' => [
BC\Laravel\DropboxDriver\ServiceProvider::class,
],
app/filesystems.php
'disks' => [
'dropbox' => [
'driver' => 'dropbox',
'token' => env('DROPBOX_TOKEN'),
],
],
<<your_access_token>>
は事前に用意したDropboxのアクセストークンに置き換えてください。
.env
DROPBOX_TOKEN=<<your_access_token>>
使い方
通常のようにStorageクラスを使ってファイル操作を行ってください。
use Illuminate\Support\Facades\Storage;
$exists = Storage::disk('dropbox')->exists('file.jpg');
まとめ
「Heroku ファイル保存」などで検索するとAmazon S3の記事を多く出現しますが、Dropboxはフリープランでも2GBまで保存できるのでファイルアップロード先はこれで良いかも。