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ưới 1: Tạo form upload file:
<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.