簡體   English   中英

如何使用PHP直接創建和輸出.gz文件

[英]How do I directly create and output a .gz file with PHP

我正在制作一個動態站點地圖,我希望在輸出之前將其壓縮。 我怎么做? 我應該添加什么標題?

您可以通過Apache配置來完成。 在根目錄中創建一個名為.htaccess的文件,並將以下行放入其中:

<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location> 

或簡單地說就是這一行:

AddOutputFilterByType DEFLATE text/html text/plain text/xml 

更多信息在這里

本頁概述了兩種發送壓縮輸出的方法。

最簡單的解決方案是對ob_gzhandler使用輸出緩沖:

<?php
    ob_start("ob_gzhandler");
?>

ob_gzhandler將負責設置正確的標頭。 萬一客戶端不支持gzip編碼,它也不會gzip數據。

但是,ob_gzhandler要求啟用Zlib庫。 有關更多詳細信息,請參見ob_gzhandler的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM