2011-12-31 2 views
1

PHP 이미지를 캐시하는 PHP 헤더() 방법을 찾고 있지만 PHP 출력의 HTML 내용은 절대 찾고 있지 않습니다.캐시 이미지/js/css 절대 HTML 콘텐츠

<filesMatch "\.(ico|gif|jpg|jpeg|png|flv|avi|mov|mp4|mpeg|mpg|mp3|pdf|doc|css|js|html|bmp|js|css)$"> 
    Header set Cache-Control "max-age=86400000" 
</filesMatch> 

을 그리고 나는 어떤 헤더를하지 않는다 : 지금은 , 내 htaccess로 파일에 대한 논문 라인을 사용하고 있습니다.

내 PHP 파일의 상단에 다음과 같은 헤더를 보내 선호하는, 그래서 다음이 시도 : 나는 브라우저를 닫을 경우

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-cache"); 
header("Cache-Control: post-check=0, pre-check=0"); 
header("Pragma: no-cache"); 

그러나 이러한 헤더 기능

, 이미지 브라우저에 캐시되지 않으며, 다시 사이트로 이동하십시오. 이미지를 캐시하기 위해 브라우저에 보낼 필요가 있지만 HTML 콘텐츠는 보내지 마십시오.

편집 : 죄송합니다. 다시 확인해 보니 이러한 헤더 기능이 브라우저 캐시 이미지 및 HTML 콘텐츠가 아닌 것 같습니다.

답변

0

하나의 옵션은 전용 PHP 파일에서 이미지를로드 할 수 있습니다 :

header('Content-Type: image/png'); 
header('Cache-control: private'); 
$img = imagecreatefrompng("example.png"); 
imagepng($img); 
imagedestroy($img); 

각각에 대해 별도의 PHP 파일을 가지고 저장, 당신은 URI에 파일 이름을 전달할 수 있습니다. 예를 들어 이미지 경로는 PHP 스크립트에서 $ _GET [ 'filename']을 사용하여 image.php? filename = example.png이됩니다.

* 캐시 제어 : 개인이 실제로 필요하지만 필자가 유용한 힌트로 포함 시켰는지 확실하지 않습니다.

+0

아니요 이미지를 생성하는 PHP 스크립트 파일이 아니라 이미지 파일에 대해 말하고있었습니다. – defacto

+0

그게 어쨌든 당신의 문제를 해결할 수 있는지, 솔직히 모르겠다. 메신저 브라우저에서 이미지를 직접 보지 않고 PHP 파일 내에서 HTML 마크 업으로 이미지를 포함하는 것에 대해 이야기하고 있다고 가정합니다. – stackuser10210

+0

나는 더 명확해야했는데, 나는 이것에 대해 말하고 있었다 :'echo "";'브라우저가'http : // www.mysite.com/images/myImage.png' 파일을 캐시하기를 원한다. 실제로 제 질문에서 말하는 헤더 기능은 벌금을 부과하고 있습니다. – defacto