2010-06-14 11 views
3

생성 된 이미지를 캐싱하려고합니다. resize.php? width = x & height = y로 파일에 액세스하여 이미지를 만듭니다. 너비와 높이의 이미지가 없으면 이미지를 사용하여 이미지를 만듭니다. 그러나 존재한다면 그것은 방문자에게 제공됩니다.PHP로 생성 된 이미지 캐싱

! file_exists ($ name) 검사가 제대로 작동하므로 필요없는 경우 처리가 완료되지 않습니다. 그러나 이미지를로드하는 데 여전히 시간이 걸립니다.

내 접근 방식이 잘못 되었습니까? 아니면 헤더를 잘못 설정 했습니까?

if (!file_exists($name)) { 
//image processing here 
} 
header("Content-Type: image/png"); 
header("Expires: Sat, 25 Jul 2020 10:00:00 GMT"); 
readfile($name); 

감사합니다.

답변

4

만약 내가 이것을해야만했다면 이미지가 존재하지 않는다면 그것을 처리 할 수 ​​있습니다. 웹에 접근 할 수있는 폴더에 저장하십시오. 파일이 단지 그것에 리디렉션되는 경우 헤더 ('Location : http://www.yoursite.com/path/to/existing/file.png')

+0

Ah ha, duh! 도와 주셔서 감사합니다! php 스크립트가 자동으로 캐싱되지 않기 때문에 readfile이 매번 이미지를 읽었을 뿐이라는 것을 알고 있습니다. – lafoaug