2011-02-16 83 views
1

GoDaddy的不會讓mod_gzip的我,所以我必須使用頁眉這樣的:如何在不使用.htaccess的情況下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");不起作用,請告訴我。

+0

我該如何做得更好? – Charlie 2011-02-16 22:34:01

+0

接受您之前詢問的問題的最佳答案。即讓人們知道你欣賞他們通過授予他們代表所付出的努力。 – Hamish 2011-02-16 22:37:41

回答

2

一般來說,gzip GIF,PNG或JPEG圖像不會產生超過百分之幾的增益(實際上,「壓縮」文件可能會比原來的大)。如果你真的想用普通的php來做到這一點,使用mod_rewrite(或修改後的圖像URL)將URL重定向到一個PHP腳本。然後,輸出圖像像

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

確實工作(在你的實驗中,你有可能在不經意間增加空間轉換成二進制的PNG圖像,從而打破它)。

7

GZipping圖像是不值得的。收縮是微不足道的,甚至是負面的,因爲圖像格式已經做了相當優化的壓縮工作。嘗試壓縮一個JPG文件,看看我的意思。

另外,壓縮難以壓縮的數據是極其處理器密集型,您最終可能會使用更多的資源而不是更少的資源。

Yahoo performance rules證實了這一點:

圖像和PDF文件不應該用gzip壓縮,因爲它們已被壓縮。試圖壓縮它們不僅浪費CPU,而且可能會增加文件大小。

另外,請記住,在PHP中進行壓縮時,每次請求進入時都會啓動一個PHP進程。根本不需要壓縮靜態資源(除非您支付大量資金用於交通)。壓縮通常應該是Web服務器的工作,而不是PHP的。

相關問題