- 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://:8000/uploadfile
**步驟 7** - 您將收到如下所示的提示。
廣告