Laravel - Tải lên tệp
Tải lên tệp trong Laravel rất dễ dàng. Tất cả những gì chúng ta cần làm là tạo một tệp dạng xem nơi người dùng có thể chọn tệp để tải lên và bộ điều khiển nơi các tệp đã tải lên sẽ được xử lý.
Trong tệp dạng xem, chúng ta cần tạo đầu vào tệp bằng cách thêm dòng mã sau.
Form::file('file_name');
Trong Biểu mẫu :: open (), chúng ta cần thêm ‘files’=>’true’như hình bên dưới. Điều này tạo điều kiện cho biểu mẫu được tải lên thành nhiều phần.
Form::open(array('url' => '/uploadfile','files'=>'true'));
Thí dụ
Step 1 - Tạo một tệp xem được gọi là resources/views/uploadfile.php và sao chép mã sau vào tệp đó.
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>
Step 2 - Tạo một bộ điều khiển được gọi là UploadFileController bằng cách thực hiện lệnh sau.
php artisan make:controller UploadFileController --plain
Step 3 - Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:
Step 4 - Sao chép mã sau vào
app/Http/Controllers/UploadFileController.php tập tin.
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());
}
}
Step 5 - Thêm các dòng sau vào app/Http/routes.php.
app/Http/routes.php
Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');
Step 6 - Truy cập URL sau để kiểm tra chức năng của tệp tải lên.
http://localhost:8000/uploadfile
Step 7 - Bạn sẽ nhận được một lời nhắc như trong hình sau.