Share Upload tập tin với thư viện Upload

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Trong PHP có một số hàm hỗ trợ các bạn thực hiện upload tập tin lên máy chủ. Tuy nhiên, nếu chỉ dùng những gì mà PHP cung cấp thì các bạn còn phải viết thêm rất nhiều mã lệnh để có thể thực hiện chức năng upload tập tin một cách hoàn chỉnh. Ví dụ như việc kiểm tra tính hợp lệ của tập tin, những phần mở rộng được phép upload, dung lượng tập tin cho phép upload... Đây là những yêu cầu thường có nếu các bạn muốn viết chức năng upload tập tin để sử dụng vào các dự án thực tế.

Để giúp các bạn viết chức năng upload tập tin một cách nhanh chóng và an toàn, tôi giới thiệu với các bạn thư viện Upload được viết khá tốt, giúp các bạn có thể hoàn thành chức năng upload tập tin chỉ với vài dòng lệnh đơn giản.

Các bạn sử dụng công cụ composer để cài đặt thư viện Upload. Các bạn có thể tìm hiểu thêm về công cụ composer tại địa chỉ http://getcomposer.org.

Các bạn chạy lệnh composer sau để cài đặt thư viện Upload:
Code:
composer require codeguy/upload
Để viết trang PHP xử lý upload tập tin, các bạn tham khảo nội dung mã lệnh sau:
PHP:
<?php
//Require tập tin autoload.php
require 'path/to/autoload.php';

//Khai báo các lớp thư viện
use Upload\File;
use Upload\Storage\FileSystem;
use Upload\Validation\Mimetype;
use Upload\Validation\Size;

//Khởi tạo đối tượng storage và file
$storage = new FileSystem('path/to/save');
$file = new File('file', $storage);

//Tạo tên tập tin ngẫu nhiên khi được upload
$newFilename = uniqid();

//Gán tên tập tin
$file->setName($newFilename);

//Khai báo tính hợp lệ của tập tin được upload
$file->addValidations(array(
    new Mimetype('image/jpeg'),
    new Size('10M')
));

//Thực hiện upload tập tin
try {
    $file->upload();
} catch (Exception $exception) {
    $errors = $file->getErrors();
}
Các bạn cũng đừng quên tạo một trang giao diện chứa form upload tập tin như ví dụ sau chẳng hạn:
HTML:
<form name="upload" method="post" enctype="multipart/form-data" action="path/to/upload.php">
    <input type="file" name="file">
    <input type="submit" value="Upload">
</form>
Các bạn có thể tìm hiểu thêm về thư viện Upload tại địa chỉ https://github.com/brandonsavage/Upload.
 
Back
Top