Use of JS and CSS optimization tools Minify for PHP tips

  • 2021-06-28 11:24:28
  • OfStack

1. Code for merging and compressing multiple JS and CSS files

HTML:


<link rel="stylesheet" type="text/css" href="cssmin.php?get=base,style1,style2,global&path=css/&v=20131023" />
<script type="text/javascript" src="jsmin.php?get=jquery-1.6.4.min.js,minjquery.js,minjquery.ui.js,test.js,global.js&path=js/&v=20131023"></script>

PHP:


// output JS
header ("Content-type:Application/x-javascript; Charset: utf-8");
if(isset($_GET)) {
 $files = explode(",", $_GET['get']);
 $str = '';
 foreach ($files as $key => $val){
  $str .= file_get_contents($_GET['path'].$val);
 }
 $str = str_replace("\t", "", $str); // Clear spaces 
 $str = str_replace("\r\n", "", $str); 
 $str = str_replace("\n", "", $str); 
 //  Delete single line comment 
 $str = preg_replace("/\/\/\s*[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/", "", $str); 
 //  Delete multi-line comments 
 $str = preg_replace("/\/\*[^\/]*\*\//s", "", $str);
 echo $str;
}
// output CSS
header ("content-type:text/css; charset: utf-8");
if(isset($_GET)) {
 $files = explode(",", $_GET['get']);
 $fc = '';
 foreach ($files as $key => $val){
  $fc .= file_get_contents($_GET['path'].$val.".css");
 } 
 $fc = str_replace("\t", "", $fc); // Clear spaces 
 $fc = str_replace("\r\n", "", $fc); 
 $fc = str_replace("\n", "", $fc); 
 $fc = preg_replace("/\/\*[^\/]*\*\//s", "", $fc); 
 echo $fc; 
}

It's just a simple prototype, not encapsulated.Also, remember to cache the merged files

2. Use of Minify

1. Download and unzip the latest version of Minify from code.google.com/p/minify/and copy the "min" folder to DOCUMENT_with its contents 1ROOT directory (that is, website and directory).

You can modify the folder name "min"

2. Configure g parameters in "min/groupsConfig.php"


return array(
  // 'js' => array('//js/file1.js', '//js/file2.js'),
  // 'css' => array('//css/file1.css', '//css/file2.css'),
);

3. Reference in the web page as follows:

< script type="text/javascript" src="/min/g=js & 20140519" > < /script >

The following numbers can be marked with the date of the update, "min" corresponds to the name in step 1.

4. Performance optimization, refer to code.google.com/p/minify/wiki/CookBook

Be careful:

1. rewrite_in httpd.conf needs to be addedmodule Module Open

2. During the development process, you can turn on the debug mode, and then turn off the debug mode after the development. You can use firebug of Firefox Browser to view it.


$min_allowDebugFlag = true


Related articles: