Verot kütüphanesi kullanıyorum. Ayrıca webpConvert ile'de yüklenen görselin webp olmasını sağlamak istiyorum.
Aşağıdaki koda
$this->webpConvert2($yol);veya
$image->webpConvert2($yol);ekliyorum fakat bu seferde hiç kayıt etmiyor. Nasıl yapabilirim?
public function webpConvert2($file, $compression_quality = 80)
{
// check if file exists
if (!file_exists($file)) {
return false;
}
$file_type = exif_imagetype($file);
//https://www.php.net/manual/en/function.exif-imagetype.php
//exif_imagetype($file);
// 1 IMAGETYPE_GIF
// 2 IMAGETYPE_JPEG
// 3 IMAGETYPE_PNG
// 6 IMAGETYPE_BMP
// 15 IMAGETYPE_WBMP
// 16 IMAGETYPE_XBM
$output_file = $file . '.webp';
if (file_exists($output_file)) {
return $output_file;
}
if (function_exists('imagewebp')) {
switch ($file_type) {
case '1': //IMAGETYPE_GIF
$image = imagecreatefromgif($file);
break;
case '2': //IMAGETYPE_JPEG
$image = imagecreatefromjpeg($file);
break;
case '3': //IMAGETYPE_PNG
$image = imagecreatefrompng($file);
imagepalettetotruecolor($image);
imagealphablending($image, true);
imagesavealpha($image, true);
break;
case '6': // IMAGETYPE_BMP
$image = imagecreatefrombmp($file);
break;
case '15': //IMAGETYPE_Webp
return false;
break;
case '16': //IMAGETYPE_XBM
$image = imagecreatefromxbm($file);
break;
default:
return false;
}
// Save the image
$result = imagewebp($image, $output_file, $compression_quality);
if (false === $result) {
return false;
}
// Free up memory
imagedestroy($image);
return $output_file;
} elseif (class_exists('Imagick')) {
$image = new Imagick();
$image->readImage($file);
if ($file_type === "3") {
$image->setImageFormat('webp');
$image->setImageCompressionQuality($compression_quality);
$image->setOption('webp:lossless', 'true');
}
$image->writeImage($output_file);
return $output_file;
}
return false;
}
public function resim_yukle($thumb = false,$name,$dadi,$yol,$x = false,$y = false,$filtre = true){
if($filtre == false){ // filtre yok ise
if($thumb == true){
@move_uploaded_file($_FILES[$name]["tmp_name"],$yol.'/thumb/'.$dadi);
}else{
@move_uploaded_file($_FILES[$name]["tmp_name"],$yol.'/'.$dadi);
}
return $dadi;
}else{ // eğer filtre true ise
if(is_array($name)){
$ho = $name;
}else{
$ho = $_FILES[$name];
}
$image = new Upload($ho);
if ($image->uploaded) { // Resim seçilmiş ise
$resim = $dadi;
$uzanti = $this->uzanti($dadi);
// Yeniden adlandıralım.
$image->file_new_name_body = str_replace($uzanti,"",$resim);
if($x == true OR $y == true){
$image->image_resize = true;
if($x != false AND $y != false){
$image->image_x = $x;
$image->image_y = $y;
}elseif($x != false AND $y == false){
$image->image_x = $x;
$image->image_ratio_y = true;
}elseif($y != false AND $x == false){
$image->image_y = $y;
$image->image_ratio_x = true;
}
} // resize işlevi gerçekleşiyorsa
// resmi uzantinin formatına convert edelim
$image->image_convert = str_replace(".","",$uzanti);
// sadece resim formatları yüklensin
$image->allowed = array ( 'image/*' );
// Kayıt edilecek klasör
$yol = ($thumb == true) ? $yol.'/thumb/' : $yol.'/';
$image->Process($yol);
if (! $image->processed){ // yükleme hatalıysa...
return false;
} // yükleme hatalıysa...
return $dadi;
} // Seçilmiş ise
} // filtre var ise
}