1. GIỚI THIỆU
Trong hầu hết các ứng dụng web, thơng thường người dùng có thể upload file lên server. Đối với ứng dụng web xây dựng bằng ngơn ngữ PHP chúng ta cũng có thể xây dựng cho người dùng upload file lên server.
2. CÁC BƯỚC UPLOAD FILE
Bước 1: Tạo form upload file:
<form action ="upload_file.php" method ="POST" enctype ="multipart/form-data"> <label for ="file"> Tên file </label>
<input type ="file" name ="file_upload" id ="file" /> </br>
<input type ="submit" name ="submit" value ="Upload file" /> </form>
Chú ý:
+ Đối với form để upload file thì trên thẻ form chúng ta bổ sung thêm thuộc tính enctype ="multipart/form-data".
+ Method được sử dụng theo phương thức POST
+ Nếu muốn quyết định kích cỡ tối đa của tập tin upload thì trong thẻ input FileField upload chúng ta bổ sung thêm thuộc tính value = “kích thước tối đa” – đơn vị tính là byte, lúc này thuộc tính name của file field có giá trị là “MAX_FILE_SIZE”.
Bước 2: Viết code thực hiện việc upload file <?php
if($_FILES["file_upload"]["error"]>0) {
echo "Lỗi của file ".$_FILES["file_upload"]["error"]."</br>"; } else { echo "Upload:".$_FILES["file_upload"]["name"]."</br>"; echo "Type:".$_FILES["file_upload"]["type"]."</br>"; echo "Upload:".($_FILES["file_upload"]["size"]/1024)."Kb</br>"; echo "Temp file: ".$_FILES["tmp_file"]."</br>";
if (file_exists("upload/".$_FILES["file_upload"]["name"])) {
echo $_FILES["file_upload"]["name"]."Ða ton tai"; }
else {
move_uploaded_file($_FILES["file_upload"]["tmp_name"],"Upload/".$_FILES[ "file_upload"]["name"]);
echo "Lưu trữ "."Upload/".$_FILES["file_upload"]["name"]; }
} ?>
Bằng cách sử dụng biến $_FILES[tên_đk_field] [tên thuộc tính] ta có thể upload file từ máy client sang server.
Trong đó, tham số thứ nhất là tên điều khiển filefield trên form, tham số thứ hai là một trong những thuộc tính như: name(tên file), type(loại file), size(kích thước byte – tính theo byte), tmp_name(tên tạm của file), error(lỗi)…
Với đoạn code trên, trước tiên ta kiểm tra file upload có bị lỗi hay khơng, nếu có lỗi thì thơng báo lỗi, ngược lại in ra các thuộc tính của file upload. Sau đó kiểm tra xem trong thư mục upload đã có file này hay chưa, nếu đã có thì thơng báo, ngược lại thì sử dụng hàm move_uploaded_file(file_tạm, nơi lưu trữ upload) để di chuyển thư mục về thư mục lưu trữ file trên server.