Tôi muốn viết một số mã PHP để tự động thay đổi kích thước bất kỳ hình ảnh nào được tải lên qua biểu mẫu thành 147x147px, nhưng tôi không biết phải làm thế nào về nó (tôi là một người mới làm quen với PHP).
Cho đến nay, tôi đã tải lên hình ảnh thành công, các loại tệp được nhận dạng và tên đã được xóa sạch, nhưng tôi muốn thêm chức năng thay đổi kích thước vào mã. Ví dụ: tôi có một hình ảnh thử nghiệm có kích thước 2,3MB và kích thước 1331x1331 và tôi muốn mã giảm kích thước nó xuống, điều mà tôi đoán sẽ nén đáng kể kích thước tệp của hình ảnh.
Cho đến nay, tôi đã có những điều sau:
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);