Thông tin trong trang phpinfo.php mô tả thư mục tạm thời được sử dụng để tải lên tệp là upload_tmp_dir và kích thước tối đa được phép của các tệp có thể được tải lên được nêu là upload_max_filesize . Các tham số này được đặt vào tệp cấu hình PHP php.ini
Quá trình tải lên một tệp theo các bước sau
Người dùng mở trang chứa biểu mẫu HTML có tệp văn bản, nút duyệt và nút gửi.
Người dùng nhấp vào nút duyệt và chọn một tệp để tải lên từ PC cục bộ.
![]() |
| Học lập trình PHP chuyên nghiệp |
Đường dẫn đầy đủ đến tệp đã chọn xuất hiện trong văn bản được gửi sau đó người dùng nhấp vào nút gửi.
Các tập tin đã chọn được gửi đến thư mục tạm thời trên máy chủ.
Tập lệnh Đào tạo lập trình PHP được chỉ định làm trình xử lý biểu mẫu trong thuộc tính hành động của biểu mẫu kiểm tra xem tệp đã đến và sau đó sao chép tệp vào một thư mục dự định.
Kịch bản PHP xác nhận sự thành công cho người dùng.
Như thường lệ khi ghi tệp, cả hai vị trí tạm thời và cuối cùng đều phải có quyền cho phép ghi tệp. Nếu một trong hai được đặt thành chỉ đọc thì quá trình sẽ thất bại.
Tệp được tải lên có thể là tệp văn bản hoặc tệp hình ảnh hoặc bất kỳ tài liệu nào.
Tạo một hình thức tải lên
Mã HTM sau đây tạo biểu mẫu tải lên. Biểu mẫu này có thuộc tính phương thức được đặt thành bài đăng và thuộc tính enctype được đặt thành nhiều dữ liệu / biểu mẫu dữ liệu
<?php if(isset($_FILES['image'])){ $errors= array(); $file_name = $_FILES['image']['name']; $file_size =$_FILES['image']['size']; $file_tmp =$_FILES['image']['tmp_name']; $file_type=$_FILES['image']['type']; $file_ext=strtolower(end(explode('.',$_FILES['image']['name']))); $extensions= array("jpeg","jpg","png"); if(in_array($file_ext,$extensions)=== false){ $errors[]="extension not allowed, please choose a JPEG or PNG file."; } if($file_size > 2097152){ $errors[]='File size must be excately 2 MB'; } if(empty($errors)==true){ move_uploaded_file($file_tmp,"images/".$file_name); echo "Success"; }else{ print_r($errors); } } ?> <html> <body> <form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit"/> </form> </body> </html>
Nó sẽ tạo ra kết quả sau
Tạo tập lệnh tải lênCó một biến Đào tạo lập trình PHP toàn cầu được gọi là $ _FILES . Biến này là một mảng hai chiều liên kết và giữ tất cả thông tin liên quan đến tệp được tải lên. Vì vậy, nếu giá trị được gán cho thuộc tính tên của đầu vào trong biểu mẫu tải lên là tệp , thì PHP sẽ tạo ra năm biến sau
$ _FILES ['file'] ['tmp_name'] - tệp được tải lên trong thư mục tạm thời trên máy chủ web.
$ _FILES ['file'] ['name'] - tên thật của tệp được tải lên.
$ _FILES ['file'] ['size'] - kích thước tính theo byte của tệp được tải lên.
$ _FILES ['file'] ['type'] - loại MIME của tệp được tải lên.
$ _FILES ['file'] ['error'] - mã lỗi liên quan đến tải lên tệp này.
Ví dụ dưới đây sẽ cho phép tải lên hình ảnh và trả lại kết quả như thông tin tệp đã tải lên.
<?php if(isset($_FILES['image'])){ $errors= array(); $file_name = $_FILES['image']['name']; $file_size = $_FILES['image']['size']; $file_tmp = $_FILES['image']['tmp_name']; $file_type = $_FILES['image']['type']; $file_ext=strtolower(end(explode('.',$_FILES['image']['name']))); $extensions= array("jpeg","jpg","png"); if(in_array($file_ext,$extensions)=== false){ $errors[]="extension not allowed, please choose a JPEG or PNG file."; } if($file_size > 2097152) { $errors[]='File size must be excately 2 MB'; } if(empty($errors)==true) { move_uploaded_file($file_tmp,"images/".$file_name); echo "Success"; }else{ print_r($errors); } } ?> <html> <body> <form action = "" method = "POST" enctype = "multipart/form-data"> <input type = "file" name = "image" /> <input type = "submit"/> <ul> <li>Sent file: <?php echo $_FILES['image']['name']; ?> <li>File size: <?php echo $_FILES['image']['size']; ?> <li>File type: <?php echo $_FILES['image']['type'] ?> </ul> </form> </body> </html>

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