2011-09-24 5 views
1

캐시 엔진이있는 timThumb을 사용하고 있습니다. 스크립트/튜토리얼에서 말하는 바와 같이, 당신은 0777의 권한을 가진 캐시 파일을 가져야 만한다. 이것이 내가 이미 가지고있는 것이다. 화상이 그 캐시 폴더 내의 파일을 작성 9c9313eced007f38eb59791dad91edb1.jpg표시된 이미지가 캐싱 된 것을 어떻게 알 수 있습니까?

timthumb.php?src=http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg 

아래 사용하여 페이지에서 볼

.

이미지를 확인했는데 본 것과 같습니다. 다음 번 새로 고침 할 때 페이지 소스를보고 다시 캐시 된 이미지 대신

timthumb.php?src=http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg이 표시됩니다.

제 질문은 domain.com/9c9313eced007f38eb59791dad91edb1.jpg이 아니십니까? 나는 공식 출시와 함께 또한 그것을 시도했지만 다시 같은 :

내가 http://codepad.org/pVzET9Dv 사용하는 코드입니다

주 (모든 도메인을 받아들이는 수정 된 버전입니다). 어쩌면 캐시가 작동하는 방식 일 수도 있습니다.하지만 그렇다면 캐시 된 캐시를 어떻게 확인할 수 있습니까?

답변

1

여기서 캐싱의 개념에 대해 잘 모른다.

파일이 cache_dir에있을 때 php는 사용자가 그에게 HTTP_IF_MODIFIED_SINCE 헤더를 보냈는지 확인합니다.

브라우저에서이 헤더를 보내면 브라우저에이 파일의 로컬 복사본이있는 것입니다.이 파일의 로컬 복사본은 다운로드되었을 때 값이 HTTP_IF_MODIFIED_SINCE입니다.

이제이 날짜가 실제로 이미지의 마지막 수정 날짜 인 경우 서버는 HTTP/1.1 304 Not Modified 헤더를 보냅니다.

체크인 기능 show_cache_file에 유의하십시오.


한 가지 더, 그것은 PHP가 이미지의 크기를 조정하고 자체 크기의 이미지를 자체 캐시 폴더에 저장하는 것으로 보입니다. 따라서 이러한 방식으로 리사이징 프로세스가 다시 반복되지 않습니다.


표시되는 이미지가 캐시에서 가져 오거나 다운로드되었는지 여부를 알 수있는 브라우저가 있는지 여부는 알지 못합니다. 어쨌든 이것은 사용자가 그것이 가장 최근의 이미지임을 확신해야하기 때문에 무의미합니다.

+0

답변 해 주셔서 감사합니다. 캐시가 페이지 로딩 속도를 올립니까? 왜냐하면 나는 캐시를 켜거나 끌 때 어떤 차이도 볼 수 없기 때문이다. – EnexoOnoma

+0

물론 "물론 모든 이미지를 전송하지 않기 때문에 서버에 부하가 적습니다." "모든 이미지를 다운로드하지 않기 때문에 클라이언트에로드하는 시간이 더 빨라집니다" –

+0

캐싱 또는 다운로드 여부를 알 수있는 방법이 없습니까? 스크립트 나 무언가로 ... – EnexoOnoma

0

URL timthumb.php?src=http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg 은 변경되지 않습니다. 나는 이미지 "http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg"

해야합니까에 URL이 부여 된


: 스크립트의 논리는 다음과 같이이다 디스크에 만료되지 않은 캐시 된 복사본이 있습니까?

아니요 : "http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg"에서 이미지를 검색하여 캐시에 쓴 다음 표시하십시오.

예 : 디스크에서 파일을 읽고 표시하십시오.


당신이 (= 쿼리 문자열 매개 변수 SRC를 통해) 여기에 이미지를한다 말하는 그래서 비록 "http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg"는 의미하지 않는다 스크립트는 매번 실제로 스크립트를 검색합니다.

나는 권한이 정확하고 캐시 파일이 폴더에 쓰여지고있는 것만으로도 충분히 검증 된 것입니다.

그 이상의 모든 종류의 확인은 시간 낭비 일뿐입니다.

+0

'9c9313eced007f38eb59791dad91edb1.jpg'와 같은 캐시 폴더에 저장된 이미지가 올바른 위치에 표시되는 것을 스크립트가 어떻게 알 수 있습니까? 스크립트가 작동하지 않는다는 의미는 아니며 지식 문제입니다. – EnexoOnoma

+0

9c9313eced007f38eb59791dad91edb1은 쿼리 문자열에 전달 된 src 매개 변수의 md5 합계입니다. 그것은 당신이 그것을주는 URL에서 계산됩니다 - 그래서 당신이 동일한 URL을 두 번주고,이 계산은 두 번 동일합니다. 해시 된 암호 저장이 작동하는 것과 같습니다. – codercake

관련 문제