- Laravel 教程
- Laravel - 首页
- Laravel - 概览
- Laravel - 安装
- Laravel - 应用结构
- Laravel - 配置
- Laravel - 路由
- Laravel - 中间件
- Laravel - 命名空间
- Laravel - 控制器
- Laravel - 请求
- Laravel - Cookie
- Laravel - 响应
- Laravel - 视图
- Laravel - Blade 模板
- Laravel - 重定向
- Laravel - 数据库操作
- Laravel - 错误与日志
- Laravel - 表单
- Laravel - 本地化
- Laravel - 会话
- Laravel - 验证
- Laravel - 文件上传
- Laravel - 发送邮件
- Laravel - Ajax
- Laravel - 错误处理
- Laravel - 事件处理
- Laravel - Facades
- Laravel - Contracts
- Laravel - CSRF 防护
- Laravel - 认证
- Laravel - 授权
- Laravel - Artisan 控制台
- Laravel - 加密
- Laravel - 哈希
- 理解发布流程
- Laravel - 客人用户权限
- Laravel - Artisan 命令
- Laravel - 分页自定义
- Laravel - Dump Server
- Laravel - Action URL
- Laravel 有用资源
- Laravel - 快速指南
- Laravel - 有用资源
- Laravel - 讨论
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 以测试文件上传功能。
https://127.0.0.1:8000/uploadfile
**步骤 7** - 您将收到如下所示的提示。
广告