簡體   English   中英

如何不使用.htaccess壓縮圖片?

[英]How can I gzip images without using .htaccess?

Godaddy不會為我啟用mod_gzip,因此我必須使用以下標頭:

<?php 
ob_start ("ob_gzhandler");
header("Content-type: text/css; charset: UTF-8");
header("Cache-Control: must-revalidate");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$offset = 60 * 60 * 24 * 7;
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
gmdate("D, d M Y H:i:s",
time() + $offset) . " GMT";
header($ExpStr);
?>

在這種情況下,這將適用於CSS文件

無論如何,如何將其用於圖像? 我的意思是,制作圖像:image.php並將該代碼放在頂部,但使用header("Content-type: image/png; charset: UTF-8"); 不起作用,請告訴我。

壓縮圖像不值得。 縮小幅度很小,甚至是負的,因為圖像格式已經在壓縮方面做得非常好。 嘗試壓縮JPG文件以了解我的意思。

此外,壓縮難以壓縮的數據非常耗費處理器資源,您最終可能會使用更多而不是更少的資源。

Yahoo性能規則確認了這一點:

圖片和PDF文件不應壓縮,因為它們已經被壓縮。 嘗試對它們進行gzip壓縮不僅浪費CPU,而且可能會增加文件大小。

另外,請記住,使用PHP進行壓縮時,每次請求進入時都會啟動一個PHP進程。最好不要完全壓縮靜態資源(除非您為流量支付了很多錢)。 壓縮通常應該是Web服務器的工作,而不是PHP。

通常,gzip,壓縮GIF,PNG或JPEG圖像不會產生超過百分之幾的收益(實際上,“壓縮”文件可能比原始文件大)。 如果您真的想用純PHP做到這一點,請使用mod_rewrite(或修改的圖像URL)將URL重定向到php腳本。 然后,輸出像

<?php
header('Content-Type:image/png');
echo file_get_contents('img.php');

確實有效(在您的實驗中,您可能無意間在二進制PNG圖像中添加了空格,從而破壞了它)。

暫無
暫無

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

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