2009-07-13 5 views
0

호출 될 때마다 임의의 이미지를 출력하는 PHP 스크립트가 있습니다. 따라서 웹 브라우저에서 스크립트를 열면 하나의 이미지가 표시되고 새로 고침하면 다른 이미지가 표시됩니다.클라이언트 측 캐싱 PHP 스크립트 출력

저는 (기계화를 통해) 명령 줄을 통해 웹 사이트를 방문하여 올바른 이미지를 캡처하려고합니다. 이미지를 잡기 위해 urllib2.urlopen (...)을 사용했지만, 그럴 때마다 이미지가 달라집니다. 일관되게 같은 이미지를 붙잡고 싶습니다. 어떻게해야합니까?

감사합니다.

업데이트 : 다음은 내가 말하는 것에 대한 예입니다. 웹 브라우저에서이 이미지를 다시로드하면 매번 다른 이미지가 나타납니다. 마우스 오른쪽 버튼으로 클릭하고 저장하면 올바른 이미지를 얻을 수 있습니다. 그리고 계속하면 올바른 이미지를 계속 얻을 수 있습니다.하지만 커맨드 라인에서 어떻게 그걸합니까?

http://www.biglickmedia.com/art/random/index.php

+0

나는 꽤 이해하지 못한다. 그림을 마우스 오른쪽 버튼으로 클릭 할 때 다른 그림이 표시된 그림과 저장됩니다. – user103219

+2

링크 또는 코드를 제공 할 수 있습니까? –

+0

페이지에서 '마우스 오른쪽 버튼 클릭 메뉴'를 변경하기 위해 일부 자바 스크립트 트릭을 사용 중일 수 있습니다. javascript가 비활성화 된 브라우저를 사용해보십시오. 그렇지 않으면 기계화 코드 또는 사이트에 대한 링크를 제공하십시오. –

답변

1

은 대부분의 경우 이미지는 브라우저 캐시 설정이 :

<?php 
     header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
     header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 

하고 (원래 밀리 초를 추가하여 수행 할 수 있습니다) 그것을 위해 다른 이름을 사용하여 이미지를 생성 할 때마다 .

1

생성 된 이미지를 디스크에 캐싱하여 다른 링크를 통해 사용자가 사용할 수 있도록 할 수 있습니다.

이미지가 생성되면 임시 폴더로 이동하여 사용자가 생성 된 정적 이미지를 다운로드 할 수 있습니다. 다운로드가 끝난 후 삭제하여 공간을 확보하십시오.

0

한 번 붙잡고 캐시하십시오.

1

브라우저에서 저장하면 이미지를 다시 요청하기 위해 서버로 돌아 가지 않고 캐시에서 표시하고있는 이미지를 제공합니다.

명령 줄 클라이언트도 동일한 작업을 수행해야합니다. 이미지를 요청할 때마다 이미지를 저장해야합니다. 그런 다음 보관하려는 이미지를 찾으면 이미 저장된 이미지를 어디에서나 영구히 보관해야합니다.

서버가 항상 새로운 임의의 이미지를 제공하고 있다면 당신이 할 수있는 다른 방법이 없습니다.

관련 문제