Edit: kendi kodunuzu gösterirseniz daha spesifik bir çözüm sunabilirim.



function handleImageUpload($uploadedFile) {
$allowedExtensions = ['gif', 'png', 'jpeg'];
$uploadPath = '/your/upload/directory/';

$originalFileName = $uploadedFile['name'];
$extension = pathinfo($originalFileName, PATHINFO_EXTENSION);

// WebP kontrolü
if ($extension === 'webp') {
// Eğer webp ise ek bir işlem yapma
return;
}

// Desteklenen dosya uzantılarını kontrol et
if (!in_array(strtolower($extension), $allowedExtensions)) {
echo 'Geçersiz dosya uzantısı. Lütfen gif, png veya jpeg dosyası yükleyin.';
return;
}

// Yüklenen dosyayı geçici bir klasöre taşı
$tempFilePath = $_FILES['file']['tmp_name'];
$tempFileName = uniqid('uploaded_', true) . '.' . $extension;
$tempDestination = $uploadPath . $tempFileName;

// Dosyayı webp'ye çevir ve boyutunu küçült
// Bu kısmı kendi ihtiyaçlarınıza göre özelleştirmeniz gerekebilir
$convertedFilePath = convertAndResizeToWebP($tempFilePath, $tempDestination);

// Eğer dönüştürme başarılıysa orijinal dosyayı sil
if ($convertedFilePath) {
unlink($tempFilePath);
}
}

function convertAndResizeToWebP($sourceFilePath, $destinationFilePath) {
// Dönüştürme ve boyut küçültme işlemlerini burada gerçekleştirin
// Örnek olarak, GD veya Imagick kullanabilirsiniz

// İşlem başarılıysa dönüştürülmüş dosyanın yolu, hata olursa false döndürün
// Örneğin:
// if (conversionAndResizeSuccessful) {
// return $destinationFilePath;
// } else
{
// return false;
// }
}