Laravelでファイルをアップロードして一時ファイルのデータを取得する(備忘録)

はじめに

当ブログの記事で、たびたびエクセルをアップロードしてデータを登録するという話しが出ています。

Laravelでは、ストレージなどのライブラリがあるので勘違いしがち(私だけ?)の一時ファイルを取得する方法を記事にしようと思います。

 

環境

Laravel:5.5

 

アップロードしたファイルの情報を取得する

以下のサンプルを参考にする。

 

準備

下記のHTML要素からファイルをサーバーにアップロードします。

<input type="file" name="UploadFile">

するとLaravelは、Requestの中にアップロードしたファイル情報を格納します。

 

UploadController

use Illuminate\Http\Request;

public function doUpload(Request $request)
{
   // アップロードしたファイルの情報を取得
   $request->file('UploadFile');
}

 

情報を取得する関数

上記のサンプルを参考にする。

 

アイテムのパスとファイル名を返す

$request->file('UploadFile')->getPathname()

 

アイテムのベース名を取得する

$request->file('UploadFile')->getBasename()

 

アイテムのファイル名を返す

$request->file('UploadFile')->getFilename()

 

アイテムのパスをファイル名抜きで返す

$request->file('UploadFile')->getPath()

 

アイテムを削除する(凡例)

@unlink($request->file('UploadFile')->getPathname())

 

まとめ

知りたいと思った時に検索しても、ぱっと見つからなかったので、備忘録的に記事にしました。

今日はこの辺でー

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-Laravel
-,