2011-02-16 7 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

+0

은 이전에 묻는 질문에 대한 최상의 답변을 수락합니다. 즉, 담당자에게 수여하여 자신이 투입 한 노력에 감사한다는 사실을 사람들에게 알리십시오. – Hamish

+0

알았습니다! 윌 :) – Charlie

답변

2

일반적으로 GIF, PNG 또는 JPEG 이미지를 gzipping하면 몇 퍼센트 이상의 이득을 얻을 수 없습니다. 실제로 "압축 된"파일은 원본보다 클 수 있습니다. PHP에서 그렇게하고 싶다면 mod_rewrite (또는 수정 된 이미지 URL)를 사용하여 URL을 PHP 스크립트로 리디렉션하십시오. 그런 다음,

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

같은 이미지를 출력하는 작업을 수행 (실험에서, 당신은 아마 실수로 바이너리 PNG 이미지로 공간을 추가하여 그것을 파괴했다).

7

이미지를 GZIP하는 것은 그만 가치가 없습니다. 이미지 포맷이 이미 압축하기에 가장 적합한 작업을 수행하기 때문에 수축이 아주 적거나 부정적 일 수도 있습니다. 무슨 뜻인지 JPG 파일을 압축 해보십시오.

압축하기 어려운 데이터를 압축하는 경우 은 매우 프로세서 집약적이므로 더 적은 리소스를 사용하는 대신 더 많은 리소스를 사용하게 될 수도 있습니다.

Yahoo performance rules 확인이 : 이미 압축되어 있기 때문에

이미지 및 PDF 파일을 gzip으로 압축 할 수 없습니다. gzip을 시도하면 CPU가 낭비 될뿐만 아니라 잠재적으로 파일 크기가 커질 수 있습니다.

또한, PHP에 압축을 할 때, PHP는 프로세스가 요청이 들어올 때마다 시작됩니다 기억 해요. 당신은 당신이 많은 돈을 지불하지 않는 한 (전혀 정적 리소스를 압축하지 더 나을 수있다 교통). 압축은 일반적으로 PHP가 아닌 웹 서버의 작업이어야합니다.

+1

그때 그들을 gzip하지 않을 수도 있습니다, 감사합니다. – Charlie

+0

그러나 큰 이미지가있는 경우 해상도와 색상 공간을 제한하기 위해 이미지 처리를 신중하게해야 이미지가 본질적으로 작아집니다. 이미지를 다운로드 한 후 CSS를 사용하여 이미지를 축소해도 대역폭이 절약되지 않습니다. 또한 연결을 저장하려면 "css sprites"를 연구하여 여러 이미지를 하나의 다운로드로 이동하십시오. – DGM

관련 문제