Saya ingin menulis beberapa kode PHP yang secara otomatis mengubah ukuran gambar apa pun yang diunggah melalui formulir menjadi 147x147px, tetapi saya tidak tahu bagaimana melakukannya (saya seorang pemula PHP relatif).
Sejauh ini, saya mendapatkan gambar yang berhasil diunggah, tipe file dikenali dan nama dibersihkan, tetapi saya ingin menambahkan fungsionalitas pengubahan ukuran ke dalam kode. Sebagai contoh, saya memiliki gambar percobaan yang berukuran 2.3MB, dan berdimensi 1331x1331, dan saya ingin kodenya memperkecil ukurannya, yang menurut saya akan secara dramatis memampatkan ukuran file gambar juga.
Sejauh ini, saya mendapatkan yang berikut:
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);