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 *-実行が成功すると、次の出力が表示されます-

UploadFileController

  • ステップ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 *-次の画像に示すようなプロンプトが表示されます。

ファイルの参照