Composerでインストール
$ composer require intervention/image
インストールされるディレクトリは2つ。
[1] /vendor/guzzlehttp * UploadFileクラスなど。 [2] /vendor/intervention * Imageクラス (saveメソッド) * ImageManagerクラス (makeメソッド) * sizeクラス (resizeメソッド)
Laravel 5.4 以下なので、手動でconfig/app.phpに
パッケージを登録する。
'aliases' => [ // 省略 'Image' => Intervention\Image\Facades\Image::class ]
「\Image::****」の形で、 Imageファサードを使用できるようになる。
コントローラ側でInterventionライブラリの
Imageファサードを呼び出す。
bladeテンプレートのformタグ内に、
input type="file" name="upload_image"があると仮定して、
if ($request['upload_image']) { // Requestクラスのfileメソッドで、 // name="upload_image"としてフォームPOST送信したものを受け取る。 $file = $request->file('upload_image'); // 元のファイル名を取得 $name = $file->getClientOriginalName(); // storage_pathメソッドにより、 // 「/storage/ディレクトリ」以下に指定できる。 $save_path = storage_path('app/'); // [メソッドチェイン記法] // ファイルを展開し、指定のディレクトリに保存処理を実行。 $image = \Image::make($file)->save($save_path.$name); // [ライブラリ公式] // http://image.intervention.io/getting_started/introduction }