プロフィールお問い合わせ札幌でソフトウェア開発、アフィリエイトセミナーを行っています。2020年2月1日プロミディア合同会社の斉藤です。Laravelを使って画像ファイルをアップロードするサンプルプログラムを作成しました。今回は処理のポイントについて解説していきます。完成したソースコードも私のGitHub上にアップロードしてありますので、よかったらダウンロードして動かしてみてください。まとめ画像ファイルをアップロードするサンプルプログラムの概要2画面構成で、トップページで画像を表示し、画像登録用の画面で画像を登録します。トップページ画像登録ページLaravelを使って画像ファイルをアップロードするポイントLaravelを使って画像ファイルをアップロードするポイントは保存と読み出しの2つあります。下記のポイントさえ押さえておけば、実装自体は簡単です。・アップロードされた画像ファイルは「storage/app/public」フォルダに格納します。・ファイル名は自動でランダムな名称が付与されます。・データベースには生成されたファイル名のみを保存します。(パスは保存しない)読み出し・viewで画像ファイルへのパスを生成する際、Laravelのassetの命令を使ってパスを補完します。・storageフォルダは外部から参照できないので、publicフォルダへシンボリックリンクを貼ります。実際のコードの書き方について解説します。画像ファイルのアップロード画像ファイルを選択するブラウザ側はfileコントロールを使ってPOSTするだけです。name="image_file">csrfの記述がないとエラーになります。}}画像ファイルの保存リクエストで送られてきたファイルの処理方法は以下の通りです。view('item.create');}アップロードされたファイルをsotreメソッド使って保存します。その際、パスの指定は「public/img」と指定してください。これで「storage/app/public/img」下にランダムなファイル名で保存されます。次にデータベースにはファイル名のみ保存します。$pathの中身はファイルのパスも含まれていますので、basenameメソッドを使ってファイル名のみ保存します。画像ファイルの読み出しまず、Laravelの公式サイトにも記載されている通り、シンボリックリンクを貼ります。プロジェクトフォルダ直下で以下のコマンドを実行してください。storage:linkそうすると「public」以下にstorageフォルダが現れます。これは実体ではなくて、ショートカットです。実体は「storage/app/public」フォルダです。ここに保存されたファイルをブラウザ側から参照するには、bladeファイルに以下のように書くと表示できます。※$item->file_nameはファイル名です。}}">まとめLaravelで画像ファイルをアップロードする方法は、わかってしまえば簡単ですが、初めてだとそこそこハマると思います。パスの関係がややこしいですね。今回作成したサンプルプログラムは下記公式サイトのやり方を参考にしています。ファイルストレージファイル周りのことをきちんと知りたければこちらの書籍がおすすめです。2019年7月に発売された書籍でファイルの扱いについてもきちんと解説されています。今回紹介したサンプルプログラムはこちらにアップしてあります。S3の使い方も解説しています。S3に画像ファイルをアップロードするサンプルプログラムプロミディア合同会社の斉藤です。S3に画像ファイルをアップロードする方法について調査することにしました。貞義プロミディア合同会社代表。会社員としてソフトウェア開発を約13年経験後、PE-BANK所属のフリーランスエンジニアとして独立。その2年半後に法人成りし、合同会社を設立。現在は企業に常駐してソフトウェア開発をしつつ、収益を目的としてWebサイト作成、セミナーを開催している。2020/02/01Laravelでランキング集計を定期的に実行する方法2019/09/28合同会社の決算。426ビューVBAでスクレイピング。決算の話し2019/09/28合同会社の決算。税理士の話し2019/9/16一人だけの合同会社が税理士に支払う費用は?私の場合は決算込みで月額15,000円です。一人だけの合同会社が税理士に支払う費用は?私の場合は決算込みで月額15,000円です。札幌でソフトウェア開発、アフィリエイトセミナーを行っています。