[英]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.