PHP ile Resim Yükleme, Boyutlandırma ve Düzenleme
Web uygulamalarında, kullanıcıların resim yükleyebilmesi ve bu resimleri düzenleyebilmesi önemli bir özelliktir. PHP, bu tür görevleri gerçekleştirmek için çeşitli fonksiyonlar ve kütüphaneler sunar. Bu makalede, PHP ile resim yükleme, boyutlandırma ve düzenleme süreçlerini adım adım ele alacağız.
1. Resim Yükleme
İlk adım olarak, kullanıcıların bilgisayarlarından resim yükleyebilecekleri bir form oluşturmalıyız.
html
Copy code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Resim Yükleme Formu</title>
</head>
<body>
<h2>Resim Yükleme Formu</h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="resim" accept="image/*" required>
<button type="submit">Resmi Yükle</button>
</form>
</body>
</html>
2. Resim Yükleme İşlemi
Şimdi, resim yükleme işlemini gerçekleştirecek olan upload.php dosyasını oluşturalım.
php
Copy code
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$uploadDir = "uploads/";
$uploadFile = $uploadDir . basename($_FILES["resim"]["name"]);
if (move_uploaded_file($_FILES["resim"]["tmp_name"], $uploadFile)) {
echo "Resim başarıyla yüklendi.";
// Diğer işlemleri gerçekleştir...
} else {
echo "Resim yükleme hatası.";
}
}
?>
Bu örnekte, move_uploaded_file fonksiyonu ile yüklenen resim dosyasını belirtilen dizine taşıyoruz.
3. Resim Boyutlandırma
Yüklenen resmi belirli bir boyuta boyutlandırmak için imagescale fonksiyonunu kullanabiliriz.
php
Copy code
<?php
// Yüklenen resmin yolunu alın
$yuklenenResim = "uploads/" . basename($_FILES["resim"]["name"]);
// Yeni boyutlar
$yenigenislik = 300;
$yeniyukseklik = 200;
// Resmi boyutlandırma
$resim = imagecreatefromjpeg($yuklenenResim);
$resimBoyutlandirilmis = imagescale($resim, $yenigenislik, $yeniyukseklik);
// Boyutlandırılmış resmi kaydetme
imagejpeg($resimBoyutlandirilmis, "uploads/kucuk_resim.jpg");
// Bellekten resim nesnelerini temizleme
imagedestroy($resim);
imagedestroy($resimBoyutlandirilmis);
echo "Resim başarıyla boyutlandırıldı ve kaydedildi.";
?>
Bu örnekte, imagescale fonksiyonunu kullanarak resmi belirli bir genişlik ve yüksekliğe boyutlandırıyoruz.
4. Diğer Düzenlemeler
Resim düzenleme işlemleri, GD veya Imagick gibi PHP uzantıları kullanılarak gerçekleştirilebilir. Örneğin, resmi yeniden boyutlandırma, kesme, döndürme veya filtreleme gibi işlemler bu uzantılar aracılığıyla yapılabilir.
php
Copy code
<?php
// Örnek: Resmi Gri Tonlamaya Çevirme
$resim = imagecreatefromjpeg($yuklenenResim);
// Resmi gri tonlamaya çevirme
imagefilter($resim, IMG_FILTER_GRAYSCALE);
// Gri tonlamalı resmi kaydetme
imagejpeg($resim, "uploads/gri_tonlama_resim.jpg");
// Bellekten resim nesnesini temizleme
imagedestroy($resim);
echo "Resim gri tonlamaya çevrildi ve kaydedildi.";
?>
Bu örnekte, imagefilter fonksiyonunu kullanarak resmi gri tonlamaya çeviriyoruz.
Bu adımları takip ederek, PHP ile resim yükleme, boyutlandırma ve düzenleme işlemlerini gerçekleştirebilirsiniz. Ancak, gerçek bir uygulama geliştirirken güvenlik ve performans gibi faktörlere dikkat etmek önemlidir.