LAB PHP (CB) 9
QUY TRÌNH UPLOAD FILE TRONG PHP
A – LÝ THUYẾT
I – FORM UPLOAD
1 – Gửi thông tin dạng
File trong Form
Gửi thông tin dạng
File trong một Form chính là hình thức Upload một File dữ liệu (hay nói cách
khác là gửi toàn bộ thông tin của File dữ liệu đó đi thông qua Form)
Để có thể thực hiện được việc Upload File đó thành công
thông qua Form thì Form của chúng ta phải thỏa mãn 2 điều kiện sau:
·
Form Upload phải có phương thức
truyền File: Method = POST/GET
·
Form Upload phải có phương thức
enctype="multipart/form-data"
2 – Nhận biến File
Để có thể nhận được các thông tin từ biến File được gửi
thông qua Form, chúng ta sử dụng cú pháp sau:
Cú pháp:
$_FILE[“ten_file”][“thuoc_tinh_file”];
a)
ten_file: Chính là giá trị của thuộc
tính name trong trường File Upload
b) thuoc_tinh_file: Chính là các thuộc tính của File Upload như:
c)
name: Tên của File muốn Upload, bao gồm
cả thành phần mở rộng của File
d) tmp_name: Địa chỉ đường dẫn tạm thời của File sau khi được Upload thông qua
Form
e)
size: Dung lượng của File
f)
error: Các thông tin về lỗi trong quá
trình gửi thông tin của File qua Form
III – CÁC LỖI TRONG QUÁ TRÌNH UPLOAD
1 – Khái niệm
Khi Upload một
File không thành công, thông thường phải do một lý do nào đó làm ảnh hưởng tới
quá trình Upload và chúng ta cần phải biết được những lý do để có thể khắc
phục. Đó gọi là các lỗi trong quá trình Upload
2 – Ý nghĩa của các lỗi
xảy ra trong qua trình Upload File
Trong quá trình
chúng ta xử lý Upload có thể xảy ra một số sự cố ngoài ý muốn làm cho việc
Upload File, mỗi một sự cố này sẽ được PHP ghi nhận và phân biệt đồng thời trả
lại cho biến $_FILE[“file_name”][“error”] một giá trị nguyên trong khoảng từ 0
đến 4. Mỗi một giá trị nguyên này thể hiện một lỗi tương ứng. Chúng ta có các
kiểu báo lỗi như sau:
a)
Biến error nhận giá trị
bằng 0
Trường hợp này không xảy ra lỗi trong quá trình Upload
b) Biến error nhận giá trị bằng 1
Trong trường hợp này, quá trình Upload đã không thành
công bởi có xuất hiện lỗi do dung lượng File muốn Upload vượt quá dung lượng
cho phép Upload
c)
Biến error nhận giá trị
bằng 2
Trong trường hợp này, quá trình Upload đã không thành
công bởi có xuất hiện lỗi do dung lượng File Upload vượt quá dung lượng cho
phép trong file cấu hình của hệ thống
d) Biến error nhận giá trị bằng 3
Trong trường hợp này, quá trình Upload đã không thành
công bởi có xuất hiện lỗi do File Upload chỉ được tải lên một phần mà không
được tải hết
e)
Biến error nhận giá trị
bằng 4
Trong trường hợp này, quá trình Upload đã không thành
công bởi có xuất hiện lỗi do không có File nào được tải lên hoặc File gốc đã bị
xóa trong quá trình Upload
III – QUÁ TRÌNH XỬ LÝ UPLOAD
Chính là quá trình
chuyển đường dẫn tạm của File vừa được gửi thông qua Form thành thành đường dẫn
thành đường dẫn thực xác định
Để làm được việc này chúng ta sử dụng hàm move_uploaded_file(“url_tam”, url_moi)
Ví dụ:
Tạo một File form.php với nội dung như sau:
Tạo một File upload.php nằm ngang hàng với File form.php
với nội dung như sau:
Tạo thư mục upload nằm ngang hàng với 2 File trên để
chứa File Upload
Chạy File form.php để thực thi công việc Upload
B – BÀI TẬP
I – BÀI TẬP THỰC HÀNH
Bài 1:
Xây dựng ứng dụng cho Phép người dùng lựa chọ file để
upload. Chạy file bai_tap_1.php để thấy được hoạt động của hệ thống
II – BÀI TẬP VỀ NHÀ
Bài 2:
Xây dựng ứng dụng cho Phép người dùng lựa chọ file để
upload với yêu cầu kiểm tra các lỗi xảy ra trong quá trình upload và xuất ra
các thông báo tương ứng cho các lỗi đó nếu quá trình upload sảy ra lỗi. Đồng
thời xuất ra thông tin của file nếu upload thành công. Chạy file bai_tap_2. php
để thấy được hoạt động của hệ thống
Bài 3:
Xây dựng ứng dụng cho phép người dùng upload nhiều file
cùng lúc. Chạy file bai_tap_3.php để thấy được yêu cầu thiết kế cũng như cách
thức hoạt động của hệ thống
No comments:
Post a Comment