完整的安全圖像上傳腳本
確保安全的圖像上傳對於保護您的伺服器和資料至關重要。該腳本概述了實現最大圖像上傳安全性的綜合方法。
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; }PHP:
$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 類別現已在 GitHub 上提供,以供社群貢獻和改進。
以上是如何建立安全的圖像上傳腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!