Laravel 专题
您的位置:php > Laravel专题 > Laravel文件上传
Laravel文件上传
作者:--    发布时间:2019-11-20
上传文件在laravel中是很容易的。我们需要做的是创建一个视图文件,用户可以选择要上传的文件,并使用控制器来处理上传的文件。
在视图文件中需要通过添加以下代码行来生成一个文件输入框。
form::file('file_name');
在form::open(), 我们需要添加‘files’=>’true’ ,如下图所示。这有利于使用 multiple parts 上传文件。
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 '选择一个要上传的文件:<br/>';
         echo form::file('image');
         echo form::submit('提交上传');
         echo form::close();
      ?>
   
   </body>
</html>
第2步 - 通过执行以下命令创建一个名为uploadfilecontroller 的控制器。
d:\laravel>php artisan make:controller uploadfilecontroller
第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步 - 请访问以下网址进行测试上传文件功能。

http://localhost:8000/uploadfile

第7步- 这会收到一个提示,如下面图片所示。
laravel文件上传
点击“提交上传”按钮后,上传文件处理结果如下所示:


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册