Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membina Skrip Muat Naik Imej Selamat?
Skrip Muat Naik Imej Selamat Penuh
Walaupun terdapat langkah meluas yang dibincangkan dalam soalan, skrip keselamatan muat naik imej yang komprehensif harus menangani aspek tambahan berikut :
Pihak Pelanggan Pengesahan:
Penamaan Semula Fail:
Pengesahan Sambungan Fail:
Analisis Imej:
Storan Fail:
Penyepaduan Pangkalan Data:
Contoh Skrip:
Berikut ialah skrip PHP yang disemak semula yang menggabungkan langkah keselamatan di atas:
<?php if (!empty($_FILES['image'])) { // Validate file extension if (!in_array($_FILES['image']['type'], ['image/jpeg', 'image/png', 'image/gif'])) { echo 'Invalid file type'; exit; } // Validate file size if ($_FILES['image']['size'] > 1 * 1024 * 1024) { // 1MB echo 'File too large'; exit; } // Generate random filename $filename = uniqid() . '.' . pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION); // Rename and move file if (move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $filename)) { // Insert into database $sql = "INSERT INTO images (name, original_name, mime_type, upload_date) VALUES (:name, :original_name, :mime_type, :upload_date)"; $stmt = $conn->prepare($sql); $stmt->execute([ ':name' => $filename, ':original_name' => $_FILES['image']['name'], ':mime_type' => $_FILES['image']['type'], ':upload_date' => date('Y-m-d H:i:s') ]); echo 'Image uploaded successfully'; } else { echo 'Error uploading image'; } } ?>
Skrip ini mengesahkan sambungan fail, saiz dan jenis MIME, menamakan semula fail, menyimpannya dengan selamat dan menambah rekod pada pangkalan data.
Syor Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Membina Skrip Muat Naik Imej Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!