ファイルと画像をアップロードして処理する Laravel

フォームにアップロードフィールドを定義します

まず、 <input type="file"> HTML フォームにフィールドを追加して、ユーザーがアップロードするファイルまたは画像を選択できるようにします。

<form method="POST" action="{{ route('upload') }}" enctype="multipart/form-data">  
    @csrf  
    <input type="file" name="file">  
    <button type="submit">Upload</button>  
</form>  

 

アップロードリクエストを処理する

コントローラーでは Laravel 、メソッドでアップロード要求を処理できます。 この Illuminate\Http\Request オブジェクトを使用して、アップロードされたファイルにアクセスし、必要な処理操作を実行します。

use Illuminate\Http\Request;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        // Handle the file here  
    }  
}  

 

ファイルを保存する

Laravel store アップロードされたファイルを保存するメソッド を提供します。 ファイル オブジェクトでこのメソッドを呼び出し、必要なストレージ パスを指定するだけです。

$path = $file->store('uploads');

 

画像を処理する

サイズ変更、トリミング、フィルターの適用など、画像を処理する必要がある場合は、Intervention Image などの画像処理ライブラリを使用できます。 まず、Composer 経由で Intervention Image パッケージをインストールします。

composer require intervention/image

その後、ライブラリのメソッドを使用して画像を処理できます。

use Intervention\Image\Facades\Image;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        $image = Image::make($file);  
        // Handle the image here  
    }  
}  

 

アップロードしたファイルや画像を表示する

最後に、アップロードされたファイルと画像をユーザー インターフェイスに表示できます。 のヘルパー メソッドを使用して Laravel 、保存されたファイルと画像のパブリック URL を生成し、HTML または CSS で使用します。

$url = asset('storage/'. $path);

 

HTML または CSS で変数を使用して、 $url アップロードされたファイルまたは画像を表示できます。

 

Laravel これらの手順に従い、 の組み込み機能を 利用すると、 Laravel アプリケーションでファイルや画像を簡単にアップロードして処理できます。