Upload file trong Cakephp 4

Trong bài viết này chúng ta sẽ thực hành upload file trong Cakephp 4. Trước khi bắt tay vào thực hành bạn cần tham khảo qua bài viết Đọc, thêm, sửa, xóa trong Cakephp 4.

Bước 1: Tại config/route.php thêm

use CakeHttpMiddlewareCsrfProtectionMiddleware;

$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
$builder->applyMiddleware('csrf');
$builder->connect('/upload', ['controller' => 'Articles', 'action' => 'upload']);

Bước 2: Tại ArticlesController.php thêm

use CakeViewHelperFormHelper;

upload-cakephp4

Và hàm upload()

public function upload(){
         if ($this->request->is('post')) {
            $fileobject = $this->request->getData('submittedfile');
            $uploadPath = '../uploads/';
            $destination = $uploadPath.$fileobject->getClientFilename();
            $fileobject->moveTo($destination);
         }
    }

Bước 3: Thêm tập tin upload.php trong templates/Articles

<?php
   echo $this->Form->create(NULL, ['type' => 'file']);
   echo $this->Form->file('submittedfile');
   echo $this->Form->button('Submit');
   echo $this->Form->end();
   $uploadPath ='../uploads/';
   $files = scandir($uploadPath, 0);
   echo "Tập tin đã upload thành công:<br/>";
   for($i = 2; $i < count($files); $i++)
      echo "File is - ".$files[$i]."<br>";
?>

Bước 4: Tạo thư mục uploads trong thư mục gốc tại http://localhost/cakephp

Cuối cùng truy cập vào URL http://localhost/cakephp/admin/upload để tiến hành upload.

upload-cakephp41

Related Posts

Namespace trong PHP

Namespace cho phép các lớp / hàm / hằng cùng tên được sử dụng trong các ngữ cảnh khác nhau mà không có bất kỳ xung đột…

Hàm str_split() trong PHP

Bài viết này chúng ta sẽ đi tìm hiểu về hàm str_split(). Một trong những hàm thường được dùng trong PHP. Vậy cách sử dụng str_split() như…

Tạo chức năng sửa xoá thành viên bằng PHP & MySQL

Với một số trang web để quản lý thành viên (user) dễ dàng trong phần quản trị admin bạn phải khởi tạo chức năng sửa xoá thành…

Hàm str_replace trong PHP

Hàm str_replace trong PHP là gì? Hàm str_replace() trong PHP là một hàm được sử dụng để thay thế tất cả các xuất hiện của một chuỗi…

laravel8-vews-1

Views trong Laravel 8

Trong chuỗi series hướng dẫn học Laravel thì Views cũng quan trọng không kém gì so với Controller hay Model. Vậy chúng ta sẽ làm thế nào…

Validate Form trong PHP

Mặc dù trình duyệt hỗ trợ JavaScript để xác thực người dùng cho website. Tuy nhiên nếu JavaScript bị lỗi hoặc tắt đi thì công việc này…