Bir form aracılığıyla yüklenen herhangi bir resmi otomatik olarak 147x147px boyutuna yeniden boyutlandıran bazı PHP kodu yazmak istiyorum, ancak bunun nasıl yapılacağı hakkında hiçbir fikrim yok (göreceli bir PHP acemisiyim).
Şimdiye kadar, başarıyla yüklenen resimlerim var, dosya türleri tanınıyor ve adlar temizleniyor, ancak yeniden boyutlandırma işlevini koda eklemek istiyorum. Örneğin, 2.3MB boyutunda ve 1331x1331 boyutunda bir test resmim var ve kodun onu küçültmesini istiyorum, sanırım resmin boyutunu da önemli ölçüde sıkıştıracaktır.
Şimdiye kadar aşağıdakilere sahibim:
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);