v2.5.2
Giriş yap

PHP 8'de Verot.Net Upload Class Hatası, convert, resize, crop yapmıyor

bugraskl
681 defa görüntülendi
   Warning: Trying to access array offset on value of type int in
   class.upload.php on line 2799

Tayfun hocamdan öğrendiğim ve hemen hemen her projemde kullandığım verot.net upload class ı php8 e geçmemle birlikte bu hatayı vermeye başladı. Şuan upload class jpg çevirmiyor, resize yapmıyor, crop yapmıyor. Bu hata ile birlikte upload işlemlerinde kullandığım kodlar şu şekilde

            $foo->image_convert = 'jpg';
            $foo->image_resize = true;
            $foo->image_ratio_crop = true;
            $foo->image_x = 1920;
            $foo->image_y = 1080;

Bu sorunla daha önceden karşılaşan bir arkadaş varsa yardımcı olabilirse çok memnun olurum. 2799. satırdaki kodları da aşağı ekliyorum.

2797    function getsize($size) {
2798        if ($size === null) return null;
2799        $last = strtolower($size[strlen($size)-1]);
2800        $size = (int) $size;
2801        switch($last) {
2802            case 'g':
2803                $size *= 1024;
2804            case 'm':
2805                $size *= 1024;
2806            case 'k':
2807                $size *= 1024;
2808        }
2809        return $size;
2810    }

@tayfunerbilen hocam, yardımlarınızı bekliyorum

Cevap yaz
Cevaplar (3)
bugraskl
1091 gün önce

Sorunu php sürümümü 7.4 e düşürerek çözdüm şimdilik, php 8 de verotun son sürümüyle image crop ve resize işlemlerini başarıyla yapabilen varsa yazarsa diğer arkadaşlara da yardımcı olur diye düşünüyorum.

bugraskl
1091 gün önce

@qplot Kodları güncelledim, hata ortadan kalktı ancak yine upload işlemlerindeki jpg çevirmeme, resize ve crop yapmama olayı devam ediyor hocam.

qplot
1091 gün önce

senin kodlar eski sanırım bende kodlar bu şekilde

function getsize($size) {
    if ($size === null) return null;
    $last = is_string($size) ? strtolower(substr($size, -1)) : null;
    $size = (int) $size;
    switch($last) {
        case 'g':
            $size *= 1024;
        case 'm':
            $size *= 1024;
        case 'k':
            $size *= 1024;
    }
    return $size;
}