2011-03-27 2 views
5

이미지에 링크 된 CSS 파일이 있습니다.공용 폴더 외부에서 PHP로 CSS 이미지 제공

.test{ 
    background: url(http://site.com/dynamic/test.jpg) no-repeat; 
} 

그러나 이러한 이미지는 동적입니다. 그것들은 분 단위로 바뀌므로 생성하고 PHP로 제공해야합니다. 즉, 공용 폴더에 저장하지 않습니다. 난 그냥 PHP 스크립트에서 직접 그들을 제공합니다.

문제는 내가 PHP 스크립트 (http://site.com/dynamic/test.jpg)를 방문하면 올바르게 이미지를 생성하고 브라우저에서 볼 수 있지만 같은 URL을 CSS 파일에서 사용할 때 CSS가 ' 이미지에 액세스하는 것처럼 보입니다.

이미지가 공용 폴더에 저장되지 않아서 이미지가 직접 생성되도록 호출되어야한다는 것을 의미하는 PHP에 의해 전달되고 CSS 파일을 호출해도 PHP 스크립트가 실제로 손상되지 않는다고 생각합니다 (이미지 URL).

누구든지이 문제를 해결할 아이디어가 있습니까?

+1

이미지를 만드는 방법과 상관없이 CSS와 완전히 같습니다. 방화 광 픽업을 설치했다면 netpanel을보고 이미지가로드 될 때 오류가 발생하는지 확인하십시오. – JohnP

+0

그냥 궁금 해서요, 왜 PHP 스크립트가 그것을 생성하는 경우 .jpg를 참조하고, 그렇지 test.php 않을까요? (당신은 jpg 확장자가 PHP 컴파일러에 의해 처리되지 않는 한 이상합니다.) – Ben

+1

@mazzzzz : OP는 아마도 $ _SERVER [ 'REQUEST_URI']'또는 이와 비슷한 어떤 것으로 가상 경로를 추출합니다. 또는'mod_rewrite'를 사용하십시오. 이것을 가리는 수많은 방법. –

답변

1

는 PHP 헤더 기능 당신이 무슨 일이 일어나고 있는지 자신의 시스템을 요구해야 모든

header("Content-type: application/force-download"); 
header('Content-Type: application/octet-stream'); 
header('Content-Type: image/jpeg'); // or png... 
+0

캐시 제어 헤더는 매분마다 업데이트되는 이미지이기 때문에 손상되지 않습니다. * 헤더 ("Cache-Control : no-cache, must-revalidate"); * – Marcel

+0

그래서 응답 헤더에 이러한 명령문이 포함 된 작업을 제안 하시겠습니까? 코드를 게시 할 수 있습니까? – Prasad

-2

첫째을 사용하여 콘텐츠 형식을 반환하려고하지 귀하의 사이트에 아무 생각도 액세스 할 수 없습니다 사람.

일부 HTTP 스니퍼를 사용하여 전송되는 정확한 HTTP 요청과 반환 된 응답을 확인하십시오. Firefox 용 LiveHTTPHeader 또는 Firebug 애드온 또는 종류에 상관없이 사용할 수 있습니다.

그런 다음이 헤더를이 이미지를 직접 요청하는 헤더와 비교하십시오.
그런 다음이 헤더를 제공하여 질문 할 수 있습니다.