Jump to content

Recommended Posts

Хостинг? Напишите своему хостинг-провайдеру письмо о том, что на сервере webp support есть, но изображения webp не создаются через imagewebp. Пусть проверят.

Предварительно (на всякий случай) очистите папку resized или в какую у вас записываются изображения с изменёнными размерами.

Link to post
Share on other sites

Хостинг? Напишите своему хостинг-провайдеру письмо о том, что на сервере webp support есть, но изображения webp не создаются через imagewebp. Пусть проверят.

Предварительно (на всякий случай) очистите папку resized или в какую у вас записываются изображения с изменёнными размерами.

 

измененные изображения по факту должны записываться в папку products же? 

а со статическими изображениями( фото бренда, фото категории) ? Ручками переделываете?

Link to post
Share on other sites

У меня это папка files/products, какая у вас - не знаю, все в настройках ставят как хотят.

Фото категории у меня также сохраняются в этой папке как webp и как jpg. Брендов у меня нет

Остальное (то, что в шаблоне) - да, руками

Link to post
Share on other sites

У меня это папка files/products, какая у вас - не знаю, все в настройках ставят как хотят.

Фото категории у меня также сохраняются в этой папке как webp и как jpg. Брендов у меня нет

Остальное (то, что в шаблоне) - да, руками

 

так а как фото категории у вас создается как webp если там ресайз не используется? 

Edited by Kami
Link to post
Share on other sites

так а как фото категории у вас создается как webp если там ресайз не используется? 

У меня используется. Видимо, давно сделал по аналогии с товарами.

Link to post
Share on other sites
  • 7 months later...

что исправить? imagedestroy() expects parameter 1 to be resource, string given in /,,,,,,,,,,,,/resize/resize.php on line 29

ресайз webp создается только после клика по jpeg, вывожу через |replace:'.jpg':'.webp', картинок нет пишет the image could not be loaded

Link to post
Share on other sites
  • 2 months later...

У меня - все, установленные на компьютере. С проблемой Сергеевича знаком, насколько помню, у него создавались webp изображения, но htaccess не обрабатывался - проблема была с настройками сервера. Потому он вам и задал вопрос - у вас webp изображения не создаются или браузер их не выводит? Вы не ответили, поэтому где у вас проблема, непонятно.

Подскажите пожалуйста, закинул ваш код в .htaccess и в resize.php. Webp создается, но загоняю в pagespeed insights пишет что используется jpg. Что проверить чтоб загружался webp ?

 

Слаб в этом, подскажите куда и что заливать, пожалуйста.

 

я же правильно понимаю, это код, что б перевести все изображения jpg на сайте в webp ?

Link to post
Share on other sites

 

Я понял, что вы хотите, заодно разобрался с тем, что такое webp, какие браузеры поддерживают этот формат и как распознать такой браузер.

Всё гениальное просто. Очень просто, но потратил на это весь вечер.

В resize.php в самый конец добавляете

 

 

 

 
$webp_filename = preg_replace('/\.[^.]+$/','',$resized_filename).".webp";
if (file_exists($webp_filename))
{
}
else
{
    $imagetoconvert = imagecreatefromjpeg($resized_filename);  
    imagewebp($imagetoconvert, $webp_filename, 80);
    imagedestroy($resized_filename);
}
 

 

 

Далее в htaccess прописываете

 


AddType image/webp .webp
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept 
</IfModule> 


Все очень хорошо работает, остается только один вопрос, файлы .jpeg конвертируются, а вот с .png не получается

Link to post
Share on other sites

Все очень хорошо работает, остается только один вопрос, файлы .jpeg конвертируются, а вот с .png не получается

 

В /resize/resize.php заменить код 

 

$webp_filename = preg_replace('/\.[^.]+$/','',$resized_filename).".webp";
if (file_exists($webp_filename))
{
}
else
{
    $imagetoconvert = imagecreatefromjpeg($resized_filename);  
    imagewebp($imagetoconvert, $webp_filename, 80);
    imagedestroy($resized_filename);
}
 

 

на 

 

$webp_filename = preg_replace('/\.[^.]+$/','',$resized_filename).".webp";
$info = getimagesize($resized_filename);
if (file_exists($webp_filename)) {
} else {
	if ($info['mime'] == 'image/jpeg') {
		$imagetoconvert = imagecreatefromjpeg($resized_filename);  
		imagewebp($imagetoconvert, $webp_filename, 80);
		imagedestroy($resized_filename);
	} elseif ($info['mime'] == 'image/png') {
		$imagetoconvert = imagecreatefrompng($resized_filename);  
		imagewebp($imagetoconvert, $webp_filename, 80);
		imagedestroy($resized_filename);
	}
}
Link to post
Share on other sites
  • 6 months later...

Но я бы лучше конвертировал картинки товаров в момент загрузки в .jpeg

 

а как поймать изображения и в jpg их перевести? при ресайзе? не подскажете?

Link to post
Share on other sites
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...