Tải lên tệp là một trong những tính năng được sử dụng phổ biến nhất trong lập trình biểu mẫu. Khóa học lập trình PHP cung cấp một lớp đặc biệt, Tải lên để xử lý tải lên các tệp. Hãy cùng chúng tôi tìm hiểu cách tải lên tệp bằng lớp Tải lên trong chương này.
Lớp tải lên có thể được cấu hình bằng tệp cấu hình riêng biệt, Fuel / app / config / upload.php . Các mục cấu hình quan trọng như sau.
ext_whlistist - Đặt tiện ích mở rộng tệp được phép
ext_blacklist - Đặt phần mở rộng tệp không được phép
type_whlistist - Đặt loại tệp được phép. Ví dụ: văn bản và văn bản khác cho loại văn bản
type_blacklist - Đặt loại tệp không được phép
mime_whlistist - Đặt loại tệp mime được phép. Ví dụ: văn bản / đơn giản
mime_blacklist - Đặt loại tệp mime không được phép
tiền tố - Chuỗi thành tiền tố trong tên tệp trong khi lưu tệp đã tải lên máy chủ
hậu tố - Chuỗi hậu tố trong tên tệp trong khi lưu tệp đã tải lên máy chủ
tiện ích mở rộng - Phần mở rộng của tệp đã tải lên sẽ được đặt
create_path - Có tạo đường dẫn tệp hay không, nếu không có sẵn
ghi đè - Có ghi đè tệp hiện có trong khi lưu tệp đã tải lên không
auto_rename - Có nên đổi tên tệp bằng cách thêm số thứ tự trong khi lưu tệp đã tải lên
Randomize - Có tạo tên 32 ký tự ngẫu nhiên để lưu tệp đã tải lên không
Khóa học lập trình PHP Lớp tải lên cung cấp các tùy chọn để xử lý và lưu tệp được tải lên bởi người dùng. Mỗi tệp được xử lý (trước khi lưu) sẽ có thông tin sau trong mảng kết quả.
trường - Tên của trường biểu mẫu
Tên - Tên của tệp được tải lên
loại - Loại tệp theo định nghĩa của trình duyệt
mimetype - Loại tệp như được định nghĩa bởi lớp Tải lên
tệp - Tên đủ điều kiện của vị trí tạm thời của tệp được tải lên
tên tệp - Tên tệp của tệp đã tải lên
tiện ích mở rộng - Gia hạn tệp đã tải lên
kích thước - Kích thước của tệp được tải lên theo byte
lỗi - Mảng lỗi có mã lỗi và thông báo
lỗi - Có đặt lỗi mảng với lý do tải lên không (trong trường hợp không tải lên được)
Khi các tệp được lưu trong máy chủ, mảng kết quả cũng sẽ có các thông tin sau.
save_to - Đường dẫn đủ điều kiện nơi tệp đã tải lên được lưu
yet_as - Tên của tệp đã được lưu
is_valid
is_valid trả về true, nếu bất kỳ tệp hợp lệ nào được người dùng tải lên.
Bước 1 - Tạo một tệp, nhiên liệu / ứng dụng / lớp / trình điều khiển / upload.php . Tạo bộ điều khiển tải lên.
Cấu hình
Lớp tải lên có thể được cấu hình bằng tệp cấu hình riêng biệt, Fuel / app / config / upload.php . Các mục cấu hình quan trọng như sau.
![]() |
| Khóa học lập trình PHP |
max_size - Đặt kích thước tối đa của tệp sẽ được tải lên. 1 0 đề cập đến kích thước tải lên không giới hạn
ext_whlistist - Đặt tiện ích mở rộng tệp được phép
ext_blacklist - Đặt phần mở rộng tệp không được phép
type_whlistist - Đặt loại tệp được phép. Ví dụ: văn bản và văn bản khác cho loại văn bản
type_blacklist - Đặt loại tệp không được phép
mime_whlistist - Đặt loại tệp mime được phép. Ví dụ: văn bản / đơn giản
mime_blacklist - Đặt loại tệp mime không được phép
tiền tố - Chuỗi thành tiền tố trong tên tệp trong khi lưu tệp đã tải lên máy chủ
hậu tố - Chuỗi hậu tố trong tên tệp trong khi lưu tệp đã tải lên máy chủ
tiện ích mở rộng - Phần mở rộng của tệp đã tải lên sẽ được đặt
create_path - Có tạo đường dẫn tệp hay không, nếu không có sẵn
ghi đè - Có ghi đè tệp hiện có trong khi lưu tệp đã tải lên không
auto_rename - Có nên đổi tên tệp bằng cách thêm số thứ tự trong khi lưu tệp đã tải lên
Randomize - Có tạo tên 32 ký tự ngẫu nhiên để lưu tệp đã tải lên không
Phương thức tải lên
Khóa học lập trình PHP Lớp tải lên cung cấp các tùy chọn để xử lý và lưu tệp được tải lên bởi người dùng. Mỗi tệp được xử lý (trước khi lưu) sẽ có thông tin sau trong mảng kết quả.
trường - Tên của trường biểu mẫu
Tên - Tên của tệp được tải lên
loại - Loại tệp theo định nghĩa của trình duyệt
mimetype - Loại tệp như được định nghĩa bởi lớp Tải lên
tệp - Tên đủ điều kiện của vị trí tạm thời của tệp được tải lên
tên tệp - Tên tệp của tệp đã tải lên
tiện ích mở rộng - Gia hạn tệp đã tải lên
kích thước - Kích thước của tệp được tải lên theo byte
lỗi - Mảng lỗi có mã lỗi và thông báo
lỗi - Có đặt lỗi mảng với lý do tải lên không (trong trường hợp không tải lên được)
Khi các tệp được lưu trong máy chủ, mảng kết quả cũng sẽ có các thông tin sau.
save_to - Đường dẫn đủ điều kiện nơi tệp đã tải lên được lưu
yet_as - Tên của tệp đã được lưu
lỗi - Mảng lỗi cập nhật
Khóa học lập trình PHP Bây giờ, chúng ta hãy xem phương thức của lớp Upload.is_valid
is_valid trả về true, nếu bất kỳ tệp hợp lệ nào được người dùng tải lên.
// do we have any uploaded files to save? if (Upload::is_valid()) { // process }
get_files
Khóa học lập trình PHP get_files trả về tất cả các tệp được tải lên dưới dạng mảng đa chiều. Nếu một chỉ mục / tên của đầu vào tệp của biểu mẫu được chỉ định, thì nó sẽ trả về tệp đã tải lên chỉ liên quan đến đầu vào tệp được chỉ định.foreach(Upload::get_files() as $file) { // do something with the file info } if ( Upload::get_files(0)) { // do something }
get_errors
Khóa học lập trình PHP get_errors trả về một mảng lỗi, nếu không tải lên được một hoặc nhiều tệp. Nếu một chỉ mục / tên của tên đầu vào tệp của biểu mẫu được chỉ định, thì nó sẽ chỉ trả về lỗi liên quan đến đầu vào tệp được chỉ định.foreach(Upload::get_errors() as $file) { // do something with the file info } if (Upload::get_errors('myimage')) { // do something }
Quá trình
Khóa học lập trình PHP quá trình đề cập đến quá trình thực tế thu thập thông tin về tệp được tải lên. Chúng tôi có thể cung cấp một cấu hình tùy chỉnh mới bằng cách sử dụng mảng. Nếu không có cấu hình nào được chỉ định, thì nó sẽ sử dụng cấu hình được xác định trong Fuel / app / config / upload.phpUpload::process (array( 'auto_rename' => false, 'overwrite' => true ));
tiết kiệm
Khóa học lập trình PHP save đề cập đến quá trình thực tế lưu tất cả các tệp được xác thực ở một vị trí thích hợp. Chúng tôi có thể chỉ định chỉ mục để lưu chỉ mục cụ thể đó.Upload::save(); Upload::save(0); Upload::save(0, 3);
Ví dụ làm việc
Khóa học lập trình PHP Hãy để chúng tôi tạo một bộ điều khiển mới, Controller_Upload trong mẫu nhân viên của chúng tôi để kiểm tra chức năng tải lên.Bước 1 - Tạo một tệp, nhiên liệu / ứng dụng / lớp / trình điều khiển / upload.php . Tạo bộ điều khiển tải lên.
<?php class Controller_Upload extends Controller { }Bước 2 - Tạo một hành động mới get_upload.
<?php class Controller_Upload extends Controller { public function get_index() { return \View::forge("upload/index"); } }Bước 3 - Tạo chế độ xem mới cho hành động được tạo.
<!DOCTYPE html> <html> <body> <form action = "/upload/index" method = "post" enctype = "multipart/form-data"> Select image to upload: <input type = "file" name = "fileToUpload" id = "fileToUpload"> <input type = "submit" value = "Upload Image" name = "submit"> </form> </body> </html>Bước 4 - Tạo một hành động mới post_action để xử lý tệp đã tải lên.
<?php class Controller_Upload extends Controller { public function get_index() { return \View::forge("upload/index"); } public function post_index(){ $config = array( 'path' => DOCROOT.'files', 'randomize' => true, 'ext_whitelist' => array('img', 'jpg', 'jpeg', 'gif', 'png'), ); Upload::process($config); // if there are any valid files if (Upload::is_valid()) { Upload::save(); echo "success"; } else { // and process any errors foreach (Upload::get_errors() as $file) { echo var_dump($file); } } } }

Không có nhận xét nào:
Đăng nhận xét