1) Upload lên Server bằng code PHP
Để upload file lên Server thì ban phải sử dụng form có thuộc tính enctype="multipart/form-data" và phương thức POST, thẻ input sẽ có type="file".
Khi bạn upload một file lên thì trên Server sẽ nhận được 5 thông số cho một file, và PHP sẽ dựa vào các thông số đó để tiến hành upload, các thông số đó là:
- name: Tên của file bạn upload
- type: Kiểu file mà bạn upload (hình ảnh, word, …)
- tmp_name: Đường dẫn đến file upload ở client
- error: Trạng thái của file bạn upload, 0 => không có lỗi
- size: Kích thước của file bạn upload
Bây giờ ta sẽ làm một ví dụ upload file để bạn dễ hiểu hơn nhé.
Bước 1: Bạn tạo file upload.php trong thư mục htdocs của Xampp Server, sau đó copy nội dung này vào
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="avatar"/>
<input type="submit" name="uploadclick" value="Upload"/>
</form>
</body>
</html>
Bước 2: Bạn tạo một folder upload cùng cấp với file upload.php, sau đó sửa lại file upload.php như sau:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="avatar"/>
<input type="submit" name="uploadclick" value="Upload"/>
</form>
<?php // Xử Lý Upload
// Nếu người dùng click Upload
if (isset($_POST['uploadclick']))
{
// Nếu người dùng có chọn file để upload
if (isset($_FILES['avatar']))
{
// Nếu file upload không bị lỗi,
// Tức là thuộc tính error > 0
if ($_FILES['avatar']['error'] > 0)
{
echo 'File Upload Bị Lỗi';
}
else{
// Upload file
move_uploaded_file($_FILES['avatar']['tmp_name'], './folder/'.$_FILES['avatar']['name']);
echo 'File Uploaded';
}
}
else{
echo 'Bạn chưa chọn file upload';
}
}
?>
</body>
</html>
Riêng hàm move_uploaded_file($client_path, $server_path) sẽ có 2 tham số truyền vào, tham số $client_path là đường dẫn đến file ở client, tham số $server_path là đường dẫn các bạn muốn lưu trên Server (đường dẫn có kèm theo tên file)