Перейти к содержанию
Официальный форум поддержки Simpla

Мелкие картинки css в base64. Оптимизация


Рекомендуемые сообщения

Скрипт css_url_img_to_base64.php кладется в корень сайта. Итог выдается на страницу.
name_design - ваша папка с дизайном.
5000 - число допустимых знаков.
sprite - маска для исключения. Скрипт не предназначен для спрайтов.

style.css - исходный файл можно скормить less.

<?php
$file_css = 'style.css';
chdir('design/name_design/css/');
function css_replace($m){
        $type='';
	switch (substr($m[0],-4)) {
	    case ".png":
	        $type='png';
	        break;
	    case ".gif":
	        $type='gif';
	        break;
	    case ".jpg":
	        $type='jpeg';
	        break;
	    case "jpeg":
	        $type='jpeg';
	        break;
	}
		
	if(!file_exists($m[0]) || empty($type)){
		return $m[0];
	}

	$data = base64_encode(file_get_contents($m[0]));	
	
	if(strlen($data)>5000 || strpos($m[0],'sprite')!==false)
		return $m[0];
	else{
		$type .= ';base64,';
		return "data:image/".$type.$data;
	}
	
}

echo preg_replace_callback("#\.\./images/[^\"'\)]+#i", "css_replace", file_get_contents($file_css));

?>
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...