php gzip壓縮js與css代碼的例子

來源:互聯網
上載者:User
為節省頻寬,我們經常需要對檔案進行壓縮後傳輸,在php編程中,最常見的就是使用gzip模組對css與js檔案進行壓縮,本文為大家舉一個這方面的例子,供大家參考。

首先,來瞭解下壓縮的優勢:1)、將多個CSS/JS文檔合并成一個檔案,以減少HTTP請求。2)、對合并後的檔案進行文檔壓縮,比如分別使用js compressor和CSS compress。3)、如果使用到一些主流的JavaScript架構,比如JQuery, Mootools或者YUI,強烈推薦直接使用Google AJAX Library以外部連結的形式匯入基庫。4)、使用GZIP在伺服器端對JS/CSS文檔進行壓縮。

用PHP使用GZIP壓縮非常簡單,其核心是使用ob_gzhandler。注意:並非所有瀏覽器都支援GZIP傳送到用戶端的資料,容錯處理一定要考慮到。 為大家舉一個PHP通過GZIP壓縮CSS的例子。在存放CSS的檔案夾中,建立一個style.php檔案。檔案style.php:

以上代碼只是用於壓縮css檔案,如果需要壓縮JavaScript檔案,要將上面代碼中的第5行的Content-type修改為:

header('content-type:application/x-javascript; charset: gb2312');

同時要注意檔案的編碼,這裡用的是gb2312,如果你採用的是UTF-8或其他編碼,修改成對應的(即 utf-8)即可。 修改完成之後,引入相關需要的CSS檔案,然後再原HTML引入CSS的地方相應的替換為如下的引入方式:

同理JS引入方式如下:

由於上面代碼中使用到了HTTP的Expires(到期)屬性用於在用戶端緩衝CSS/JS代碼,所以,如果到期時間設定的太長(比如一 年),當你在伺服器端修改了JS/css代碼時,用戶端可能不會立即生效。解決辦法:在php檔案後面添加一個隨機參數,如上面例子中的v=121,當下次修改了檔案時,記得相應修改此隨機參數(比如修改為122)即可。

就是這些了,希望大家親自動手測試一下,看看壓縮前後的網站訪問速度,是不是會有大的改觀!程式員之家,祝大家學習進步,天天向上,向上!!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.