最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP小技巧之JS和CSS優(yōu)化工具Minify的使用方法

 更新時間:2014年05月19日 09:26:40   作者:  
為減少HTTP請求,我們往往需要合并和壓縮多個JS和CSS文件,下面記錄下網(wǎng)上關(guān)于實現(xiàn)這個功能的PHP源碼以及開源項目Minify的使用方法

一、實現(xiàn)合并和壓縮多個JS和CSS文件的代碼

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:

復制代碼 代碼如下:

//輸出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); //清除空格
 $str = str_replace("\r\n", "", $str);
 $str = str_replace("\n", "", $str);

 // 刪除單行注釋
 $str = preg_replace("/\/\/\s*[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/", "", $str);
 // 刪除多行注釋
 $str = preg_replace("/\/\*[^\/]*\*\//s", "", $str);

 echo $str;
}

//輸出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); //清除空格
 $fc = str_replace("\r\n", "", $fc);
 $fc = str_replace("\n", "", $fc);
 $fc = preg_replace("/\/\*[^\/]*\*\//s", "", $fc);
 echo $fc;
}

只是個簡單原型,沒有封裝。另外,合并后的文件記得配合緩存

二、Minify的使用方法

1、從code.google.com/p/minify/下載最新版Minify并解壓縮,將"min"文件夾連同里面的內(nèi)容一起復制到DOCUMENT_ROOT目錄下(即網(wǎng)站跟目錄)。

可以修改文件夾名"min"

2、在"min/groupsConfig.php"里配置g參數(shù)

復制代碼 代碼如下:

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

3、在網(wǎng)頁中按照如下方式引用就可以了:

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

后面的數(shù)字可以用更新日期來作標志,"min"和步驟1里的名稱對應。

4、性能優(yōu)化,請參考code.google.com/p/minify/wiki/CookBook

注意:

1、需要將httpd.conf里的rewrite_module模塊開啟

2、開發(fā)過程中,可以將調(diào)試模式開啟,開發(fā)完畢后再將調(diào)試模式關(guān)閉,可以利用火狐瀏覽器的firebug來查看

復制代碼 代碼如下:

$min_allowDebugFlag = true

相關(guān)文章

  • PHP實現(xiàn)的62進制轉(zhuǎn)10進制,10進制轉(zhuǎn)62進制函數(shù)示例

    PHP實現(xiàn)的62進制轉(zhuǎn)10進制,10進制轉(zhuǎn)62進制函數(shù)示例

    這篇文章主要介紹了PHP實現(xiàn)的62進制轉(zhuǎn)10進制,10進制轉(zhuǎn)62進制函數(shù),結(jié)合具體實例形式分析了php針對62進制與10進制相互轉(zhuǎn)換的操作技巧,需要的朋友可以參考下
    2019-06-06
  • PHP反射原理與用法深入分析

    PHP反射原理與用法深入分析

    這篇文章主要介紹了PHP反射原理與用法,結(jié)合實例形式深入分析了PHP反射的概念、原理、應用場景及相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • php析構(gòu)函數(shù)的簡單使用說明

    php析構(gòu)函數(shù)的簡單使用說明

    與構(gòu)造函數(shù)相反,在PHP5中,可以定義一個名為__destruct()的函數(shù),稱之為PHP5析構(gòu)函數(shù),PHP將在對象在內(nèi)存中被銷毀前調(diào)用析構(gòu)函數(shù),使對象在徹底消失之前完成一些工作。對象在銷毀一般可以通過賦值為null實現(xiàn)。
    2015-08-08
  • php數(shù)組添加與刪除單元的常用函數(shù)實例分析

    php數(shù)組添加與刪除單元的常用函數(shù)實例分析

    這篇文章主要介紹了php數(shù)組添加與刪除單元的常用函數(shù),實例分析了array_push、array_pop、array_shift及array_unshift等函數(shù)的使用技巧,需要的朋友可以參考下
    2015-02-02
  • PHP實現(xiàn)對文本數(shù)據(jù)庫的常用操作方法實例演示

    PHP實現(xiàn)對文本數(shù)據(jù)庫的常用操作方法實例演示

    這篇文章主要介紹了PHP實現(xiàn)對文本數(shù)據(jù)庫的常用操作方法,需要的朋友可以參考下
    2014-07-07
  • 快速配置PHPMyAdmin方法

    快速配置PHPMyAdmin方法

    今天想提一下如何配置PHPMyAdmin,雖然在本機開發(fā)、調(diào)試系統(tǒng)時或許并不會用到它,但對于將來在遠程虛擬主機中放置Mysql數(shù)據(jù)庫時,必然會用到phpmyadmin這樣的Mysql GUI工具,所以,在本地先熟悉一下如何使用也是有必要的。
    2008-06-06
  • 探討:web上存漏洞及原理分析、防范方法

    探討:web上存漏洞及原理分析、防范方法

    本篇文章是對web上存漏洞及原理分析、防范方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php str_pad 函數(shù)用法簡介

    php str_pad 函數(shù)用法簡介

    php的str_pad()函數(shù)是把字符串填充為指定的長度,和str_repeat有類似之處,至于str_repeat的用法在此不作解釋,有興趣的可以查找手冊.
    2009-07-07
  • 對象失去焦點時自己動提交數(shù)據(jù)的實現(xiàn)代碼

    對象失去焦點時自己動提交數(shù)據(jù)的實現(xiàn)代碼

    生產(chǎn)線上,提升輸入員輸入效率,在沒有購買到Bar code槍之前,需要修改程序,即是說當mouse光標離開TextBox之后,數(shù)據(jù)自動提交到數(shù)據(jù)庫中
    2012-11-11
  • php eval函數(shù)用法總結(jié)

    php eval函數(shù)用法總結(jié)

    這個函數(shù)我想很多朋友都知道,黑客用得最多的一句了,可以解析php 代碼并且運行哦,eval是函數(shù)不可在php中禁止,以前我就以為可以在php.ini禁止此函數(shù),結(jié)果失敗了
    2012-10-10

最新評論

无棣县| 新源县| 双鸭山市| 乐都县| 即墨市| 定边县| 嵊州市| 西林县| 澎湖县| 青岛市| 福清市| 河曲县| 屏东县| 楚雄市| 沙湾县| 潮安县| 潼南县| 景德镇市| 大冶市| 宝应县| 中江县| 沅陵县| 宁远县| 蒙山县| 临江市| 密云县| 嘉黎县| 安吉县| 色达县| 额尔古纳市| 遂昌县| 永福县| 新河县| 万载县| 子洲县| 嘉义县| 方正县| 枞阳县| 海阳市| 浦县| 独山县|