Итак, я всегда сжимал изображения jpeg так:
$url = "тут url PNG картинки";
$image = imagecreatefromJPEG($url);
imageJPEG($image, $path, 75);
Возникла необходимость изменить png картинку, использую функции для png:
$image = imagecreatefromPNG($url);
imagePNG($image, $path, 7);
Проблема в том, что функция imagePNG позволяет ставить размер сжатия только в диапазоне 1-9, а не 1-99 (как в imageJPEG). А такой размер сжатия почти ничего не меняет. Если у меня размер изображения был 1.3 мб, то станет 1.25. Такое себе сжатие. Функция imageJPEG сжимает в 10 раз лучше.
Я конечно нашёл решение:
$image = imagecreatefromPNG($url);
imageJPEG($image, $path, 75);
В итоге у меня получается хорошо сжатый файл png, но mime-тип этой картинки jpeg.
И возникает 2 вопроса:
1. Ничего страшного, когда расширение файла одно, а mime-тип другое? Может это как-то отразится на SEO, или может в каких-то браузерах такие картинки перестанут открываться? Или ещё что-то?
2. Есть ли иной способ, хорошо сжать PNG изображение, и получить при этом mime/png ?