完整的安全图像上传脚本
确保安全的图像上传对于保护您的服务器和数据至关重要。该脚本概述了实现最大图像上传安全性的综合方法。
HTML 表单:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" name="upload" value="Upload"> </form>
PHP:
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif']; if (!in_array($_FILES['image']['type'], $allowedTypes)) { echo "Invalid file type"; exit; }
$verifyimg = getimagesize($_FILES['image']['tmp_name']); if ($verifyimg['mime'] != $_FILES['image']['type']) { echo "Invalid image content"; exit; }
将上传的图像存储在可访问的文档根目录之外或受保护的目录中:
/uploads
上传图片重命名、更改扩展名,并存储原始信息在数据库中:
PHP:
$uploadfile = tempnam_sfx($uploaddir, ".tmp"); if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)) { // Database logic to store original name and MIME type }
PHP:
$id = 1; // For example $sql = "SELECT name, original_name, mime_type FROM uploads WHERE>
最大文件大小验证:
if ($_FILES['image']['size'] > 1000000) { echo "File size too large"; exit; }
ImageUpload 类:
我创建了一个 ImageUpload 类来简化上传过程。下载软件包并按照 README 中的说明进行操作。
开源可用性:
ImageUpload 类现已在 GitHub 上提供,以供社区贡献和改进。
以上是如何创建安全的图像上传脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!