Hướng dẫn upload nhiều hình ảnh trong PHP
Hướng dẫn chi tiết cách upload nhiều hình ảnh cùng lúc trong PHP, bao gồm xử lý file tải lên, kiểm tra định dạng và lưu trữ trên server.
Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng PHP để upload nhiều hình ảnh cùng lúc. Chúng ta sẽ xử lý quá trình tải lên, kiểm tra định dạng file, và lưu trữ hình ảnh trên server một cách an toàn.
Mã PHP:
<?php
if(isset($_POST['upload'])) {
$totalFiles = count($_FILES['images']['name']);
// Thư mục lưu trữ hình ảnh
$uploadDirectory = "uploads/";
for($i = 0; $i < $totalFiles; $i++) {
// Đường dẫn tạm của file
$tmpFilePath = $_FILES['images']['tmp_name'][$i];
if($tmpFilePath != "") {
// Tên file
$fileName = basename($_FILES['images']['name'][$i]);
// Đường dẫn lưu trữ
$targetFilePath = $uploadDirectory . $fileName;
// Kiểm tra và tải lên file
if(move_uploaded_file($tmpFilePath, $targetFilePath)) {
echo "File " . $fileName . " đã được tải lên thành công.<br>";
} else {
echo "Có lỗi khi tải lên file " . $fileName . ".<br>";
}
}
}
}
?>
Mã HTML cho form upload:
<!DOCTYPE html>
<html>
<head>
<title>Upload nhiều hình ảnh</title>
</head>
<body>
<h2>Chọn các hình ảnh để tải lên:</h2>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="images[]" multiple>
<input type="submit" name="upload" value="Upload">
</form>
</body>
</html>
Giải thích chi tiết từng dòng code:
-
if(isset($_POST['upload'])) { ... }
: Kiểm tra xem form đã được submit chưa. -
$totalFiles = count($_FILES['images']['name']);
: Lấy số lượng file mà người dùng chọn. -
for($i = 0; $i < $totalFiles; $i++) { ... }
: Duyệt qua tất cả các file được upload. -
move_uploaded_file($tmpFilePath, $targetFilePath)
: Di chuyển file từ đường dẫn tạm vào thư mục đích trên server.
Yêu cầu hệ thống:
- PHP phiên bản 5.4 trở lên
- Cấu hình server cho phép upload file với kích thước lớn (
upload_max_filesize
vàpost_max_size
trongphp.ini
).
Cách cài đặt PHP:
- Bạn có thể cài đặt XAMPP hoặc WAMP trên máy tính của mình để sử dụng PHP.
Lời khuyên:
- Hãy kiểm tra loại file và kích thước file trước khi upload để tránh các rủi ro bảo mật.
- Nên sử dụng tên file ngẫu nhiên hoặc thay đổi tên file trước khi lưu để tránh ghi đè.