まずはライブラリーをインストールするぞー!
composer require intervention/image
Laravelの初期設定するぞー!
Config/app.php
'providers' => [ Intervention\Image\ImageServiceProvider::class, ], --- 中略 --- 'aliases' => [ 'Image' => Intervention\Image\Facades\Image::class, ],
コマンド実行
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"
Configのキャッシュクリア
php artisan config:clear
Controller設定
use Intervention\Image\Facades\Image; // Imageファサードを使う use Illuminate\Support\Facades\Storage; // Storageファサードを使う
実処理
$file = $request->file('image'); $img = Image::make($file)->fit(960, 640); $fileName = $file->getClientOriginalName(); //拡張子チェック $extension = strtolower(pathinfo($fileName)['extension']); $checkExtension = Config('const.image_extension'); if(!in_array($extension, $checkExtension, true)){ $error = [ 'is_success' => false, 'errors_message' => ["画像のみアップロード可能です"] ]; return $error; } //ファイル保存 $img->save('/image/' . 'image_file' . $extension);
$img->saveのところ、パスとファイルをカンマ(,)で区切るって言ってるサイトが多いけど、パスとファイルは繋げる。
コメント