随着移动互联网的快速发展,越来越多的用户开始通过手机端进行图片上传。为了提升用户体验,本文将探讨如何利用PHP与HTML5技术,实现手机端的多图一键上传功能。一、技术选型HTML5: 提供丰富的API...
随着移动互联网的快速发展,越来越多的用户开始通过手机端进行图片上传。为了提升用户体验,本文将探讨如何利用PHP与HTML5技术,实现手机端的多图一键上传功能。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>多图上传</title>
</head>
<body>
<input type="file" id="fileInput" multiple>
<div id="preview"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(e) { var files = e.target.files; var preview = document.getElementById('preview'); preview.innerHTML = ''; for (var i = 0; i < files.length; i++) { var reader = new FileReader(); reader.onload = (function(file) { return function(e) { var img = document.createElement('img'); img.src = e.target.result; img.width = 100; preview.appendChild(img); }; })(files[i]); reader.readAsDataURL(files[i]); }
});
</script>
</body>
</html><form id="uploadForm" action="upload.php" method="post" enctype="multipart/form-data"> <input type="submit" value="上传">
</form><?php
// 设置允许的最大文件大小为 2MB
$maxSize = 2 * 1024 * 1024;
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
$uploadDir = 'uploads/';
if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) { foreach ($_FILES['file']['name'] as $key => $name) { $tmpName = $_FILES['file']['tmp_name'][$key]; $size = $_FILES['file']['size'][$key]; $error = $_FILES['file']['error'][$key]; $type = $_FILES['file']['type'][$key]; $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION)); if ($size <= $maxSize && in_array($ext, $allowedExtensions)) { $newFileName = uniqid('img', true) . '.' . $ext; $targetFilePath = $uploadDir . $newFileName; if (move_uploaded_file($tmpName, $targetFilePath)) { echo $targetFilePath . "n"; } else { echo "上传失败:$namen"; } } else { echo "上传失败:$name,文件大小或格式不正确n"; } } } else { echo "上传失败:无文件n"; }
}
?>在服务器端的uploads目录中,存储上传的图片。通过访问uploads目录,即可查看和展示上传的图片。
通过HTML5与PHP技术的结合,可以轻松实现手机端的多图一键上传功能。本文详细介绍了前端和后端的实现方法,为开发者提供了有益的参考。在实际应用中,可根据需求对功能进行扩展和优化。