2017-04-06 22 views
1

laravel 5.4でcsvファイルをアップロードすると、拡張子として「txt」が取得されます。私は行方不明のものがありますか?laravel 5.4で正しいファイル拡張子を取得する方法

ビュー

{!! Form::open(['url' => 'transaction/save', 'files' => true]) !!} 

{!! Form::file('batch'); !!} 

{!! Form::submit('Upload') !!} 

{!! Form::close() !!} 

コントローラ

public function saveBatch(Request $request) 
{ 
     $file = $request->batch; 
     $path = $request->batch->extension(); 

     dd($path); 
} 
+0

私はコードを追加しました。 – mojoblanco

+0

これは誤字ではなくタイプミスです。 – mojoblanco

答えて

5

をあなたは移動する必要があります最初にファイルを作成します。そうでなければ、ファイルは実際には拡張子のない一時ファイルです。

$request->batch->getClientOriginalExtension(); 

これにより、元のファイル名の拡張子が返されます。他のメソッド:http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html

+0

getClientOriginalExtension()関数は私に何を望みましたか?ありがとう – mojoblanco

0

アップロードされたファイルの拡張子を取得するための最良の方法:(ファイル入力名がある場合はファイル)

$extension = $request->file->extension(); 
+0

それは私がやっていることです。画像やExcelファイルのようなファイルの正しい拡張子を取得しますが、CSVファイルをアップロードしようとすると、それはtxtに変更されます – mojoblanco

関連する問題