Laravel-file-uploading
提供:Dev Guides
Laravel-ファイルのアップロード
Laravelでのファイルのアップロードは非常に簡単です。 ユーザーがアップロードするファイルを選択できるビューファイルと、アップロードされたファイルを処理するコントローラーを作成するだけです。
ビューファイルでは、次のコード行を追加してファイル入力を生成する必要があります。
Form::file('file_name');
- Form
- open()で、以下に示すように ‘files’ ⇒ ’true’ を追加する必要があります。 これにより、フォームを複数の部分にアップロードしやすくなります。
Form::open(array('url' => '/uploadfile','files'=>'true'));
例
ステップ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>
ステップ2 *-次のコマンドを実行して、 *UploadFileController というコントローラーを作成します。
php artisan make:controller UploadFileController --plain
- ステップ3 *-実行が成功すると、次の出力が表示されます-
- ステップ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());
}
}
ステップ5 *- *app/Http/routes.php に次の行を追加します。
*app/Http/routes.php*
Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');
- ステップ6 *-次のURLにアクセスして、ファイルのアップロード機能をテストします。
http://localhost:8000/uploadfile
- ステップ7 *-次の画像に示すようなプロンプトが表示されます。