SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

PHP Комбиниране на файлове

Haralampiev

New member
Привет!
Реших да споделя с вас една идея и един код за комбиниране на javascript и css файлове в един.
Създавате си php файл combine.php и поставяте следния код:
Код:
<?php
$_dir = array(
'css'			=>	'[COLOR="#FF0000"]css_folder[/COLOR]',
'javascript'	=>	'[COLOR="#FF0000"]javascript_folder[/COLOR]'
);
$ext = mb_strtolower(end(explode('.', $_GET['files'])));
$ext = ($ext == 'js') ? 'javascript' : 'css';
header('Content-Type: text/'.$ext);
$path = dirname(__FILE__).'/'.$_dir[$ext];

if(isset($_GET['files'])){
 	foreach(explode(',', $_GET['files']) AS $file){
		if(preg_match('#^[a-z0-9-_]+.[a-z]{2,3}+$#i', $file)) {
			$file = $path.'/'.$file;
			if(is_file($file)){
				include($file);
			}
		}
	}
}
?>
Променете само текста в червено като напишете пътя до css файловете (на първия ред) и на втория ред пътя до javascript файловете.

За да комбинирате файловете, трябва да използвате следния код във вашият header:
Код:
<link rel="stylesheet" type="text/css" href="[COLOR="#FF0000"]combine.php?files=[U]style.css,styleTwo.css,profile.css[/U][/COLOR]" />
<script type="text/javascript" src="[COLOR="#FF0000"]combine.php?files=[U]general.js,jsTwo.js[/U][/COLOR]"></script>
Като замените подчертаният текст в червено с имената на css файловете, които искате да комбинирате, изреждат се със запетая.
Същото важи и за javascript файловете.

Това е. Инструментите за тест на скоростта на сайта вече няма да "пискат", че има много връзки за css & js..
 
За: PHP Комбиниране на файлове

За: PHP Комбиниране на файлове

Тествал ли си доколко това подобрение на скоростта се отразява върху натоварването на сървъра?
 
За: PHP Комбиниране на файлове

За: PHP Комбиниране на файлове

Съмнявам се да се отрази съществено на натоварването на сървъра, защото това е include, а не file_get_contents (и алтернативите му).
Също може да се измисли кеширане на комбиниран файл и после да include-ва направо кеширания файл с комбинираните скриптове.
 

Горе