Laravel-ファイルのアップロード
Laravelでのファイルのアップロードはとても簡単です。ユーザーがアップロードするファイルを選択できるビューファイルと、アップロードされたファイルが処理されるコントローラーを作成するだけです。
ビューファイルでは、次のコード行を追加してファイル入力を生成する必要があります。
Form::file('file_name');
Form :: open()に、追加する必要があります ‘files’=>’true’以下に示すように。これにより、フォームを複数の部分にアップロードしやすくなります。
Form::open(array('url' => '/uploadfile','files'=>'true'));
例
Step 1 −というビューファイルを作成します resources/views/uploadfile.php そのファイルに次のコードをコピーします。
resources/views/uploadfile.php
<html>
<body>
<?php
echo Form::open(array('url' => '/uploadfile','files'=>'true'));
echo 'Select the file to upload.';
echo Form::file('image');
echo Form::submit('Upload File');
echo Form::close();
?>
</body>
</html>
Step 2 −というコントローラーを作成します UploadFileController 次のコマンドを実行します。
php artisan make:controller UploadFileController --plain
Step 3 −正常に実行されると、次の出力が表示されます−
Step 4 −次のコードをコピーします
app/Http/Controllers/UploadFileController.php ファイル。
app/Http/Controllers/UploadFileController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class UploadFileController extends Controller {
public function index() {
return view('uploadfile');
}
public function showUploadFile(Request $request) {
$file = $request->file('image');
//Display File Name
echo 'File Name: '.$file->getClientOriginalName();
echo '<br>';
//Display File Extension
echo 'File Extension: '.$file->getClientOriginalExtension();
echo '<br>';
//Display File Real Path
echo 'File Real Path: '.$file->getRealPath();
echo '<br>';
//Display File Size
echo 'File Size: '.$file->getSize();
echo '<br>';
//Display File Mime Type
echo 'File Mime Type: '.$file->getMimeType();
//Move Uploaded File
$destinationPath = 'uploads';
$file->move($destinationPath,$file->getClientOriginalName());
}
}
Step 5 −次の行をに追加します app/Http/routes.php。
app/Http/routes.php
Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');
Step 6 −次のURLにアクセスして、ファイルのアップロード機能をテストします。
http://localhost:8000/uploadfile
Step 7 −次の画像に示すようなプロンプトが表示されます。