ฉันต้องการเขียนโค้ด PHP ซึ่งจะปรับขนาดรูปภาพที่อัปโหลดโดยอัตโนมัติผ่านแบบฟอร์มเป็น 147x147px แต่ฉันไม่รู้ว่าจะทำอย่างไร (ฉันเป็นมือใหม่ PHP แบบสัมพัทธ์)
จนถึงตอนนี้ฉันอัปโหลดรูปภาพได้สำเร็จประเภทไฟล์ได้รับการยอมรับและล้างชื่อแล้ว แต่ฉันต้องการเพิ่มฟังก์ชันการปรับขนาดลงในโค้ด ตัวอย่างเช่นฉันมีภาพทดสอบขนาด 2.3MB และ 1331x1331 และฉันต้องการให้โค้ดลดขนาดลงซึ่งฉันเดาว่าจะบีบอัดขนาดไฟล์ของรูปภาพอย่างมากด้วย
จนถึงตอนนี้ฉันมีสิ่งต่อไปนี้:
if ($_FILES) {
//Put file properties into variables
$file_name = $_FILES['profile-image']['name'];
$file_size = $_FILES['profile-image']['size'];
$file_tmp_name = $_FILES['profile-image']['tmp_name'];
//Determine filetype
switch ($_FILES['profile-image']['type']) {
case 'image/jpeg': $ext = "jpg"; break;
case 'image/png': $ext = "png"; break;
default: $ext = ''; break;
}
if ($ext) {
//Check filesize
if ($file_size < 500000) {
//Process file - clean up filename and move to safe location
$n = "$file_name";
$n = ereg_replace("[^A-Za-z0-9.]", "", $n);
$n = strtolower($n);
$n = "avatars/$n";
move_uploaded_file($file_tmp_name, $n);
} else {
$bad_message = "Please ensure your chosen file is less than 5MB.";
}
} else {
$bad_message = "Please ensure your image is of filetype .jpg or.png.";
}
}
$query = "INSERT INTO users (image) VALUES ('$n')";
mysql_query($query) or die("Insert failed. " . mysql_error() . "<br />" . $query);