элемент управления image_type_to_extension с if

#php #image

#php #изображение

Вопрос:

Я использую библиотеку PHP GD для изменения размера моих изображений. Я хочу изменять размер только файлов JPG или JPEG, потому что я получаю ошибку для файлов PNG. Я пытался использовать функцию image_type_to_extension, но все еще без шансов.

 function CroppedThumbnail($imagename, $imgwidth, $imgheight)
{
    if (image_type_to_extension(IMAGETYPE_JPEG)) {
        // Set a maximum height and width
        $width = $imgwidth;
        $height = $imgheight;
        // Content type
        //header('Content-Type: image/jpeg');
        // Get new dimensions
        list($width_orig, $height_orig) = getimagesize($imagename);
        $ratio_orig = $width_orig / $height_orig;
        if ($width / $height > $ratio_orig) {
            $width = $height * $ratio_orig;
        } else {
            $height = $width / $ratio_orig;
        }
        // Resample
        $image_p = imagecreatetruecolor($width, $height);
        $image = imagecreatefromjpeg($imagename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
        // Output
        $newFileName = 'small/' . $imagename . '';
        imagejpeg($image_p, $newFileName, 100);

        return '/' . $newFileName;
    }
}
  

Комментарии:

1. image_type_to_extension jsut возвращает строку типа .jpg или .png .

Ответ №1:

Я предполагаю, что вы хотите определить тип фотографии в соответствии с названием.

 if(exif_imagetype($imagename)===2){  // 2 means jpg and jpeg
...
...
...
}
  

замените это на ваше if(image_type_to_extension(IMAGETYPE_JPEG)) { } в вашем коде

просто взгляните