PHP에 의해 동적으로 생성 된 이미지에 태그를 가리키는가?

StackOverflow https://stackoverflow.com/questions/806599

  •  03-07-2019
  •  | 
  •  

문제

동적으로 생성 된 이미지 (PHP 사용)로 이미지를 리디렉션 할 수 있습니까?

동적으로 생성 된 이미지가 있으며 확장 ".php"(명백히)가 있으며 해당 서버가 제 컨트롤 아래에 있지 않습니다. 따라서 "Somename.jpg"(내 서버의)를 "remoteserver/dynamicimage.php"(내 제어가 아닌 일부 원격 서버에서)로 리디렉션하여 즉시 링크 할 수 있도록합니다. <img src="somename.jpg"/> 동적으로 생성 된 이미지가 표시됩니다.

이것이 가능하다면 알려주세요.

도움이 되었습니까?

해결책

브라우저는 이미지의 리디렉션을 따릅니다. "somename.jpg"라는 php-file을 만들고 다음을 추가하십시오.

<?php
header('Location: http://www.otherserver.com/image.php');

Apache 지시문을 사용하십시오 ForceType .htaccess 파일에서 서버에 .jpg 파일을 php로 처리하도록 지시합니다.

<Files somename.jpg>
    ForceType application/x-httpd-php
</Files>

또는 .jpg 확장자가 필요하지 않은 경우 file somename.php를 호출하십시오.

아마도 이것을 사용하여 달성 할 수 있습니다 mod_alias 또한 시도하지는 않았지만 :

Redirect somename.jpg http://www.otherserver.com/image.php

이것은 .htaccess 파일로도 발생합니다.

다른 팁

헤더 함수는 브라우저가 파일 유형을 결정하는 데 사용하는 HTTP 헤더를 제어합니다 (또는 어쨌든 어떤 경우에도) 스크립트가 이미지 파일을 생성한다고 브라우저를 알리는 데 사용될 수 있습니다. HTML 스크립트 출력 :

header('Content-type: image/jpeg');
header('Content-Disposition: attachment; filename="somename.jpg"');

.htaccess 파일에 이와 같은 것을 추가하십시오

RewriteEngine on
RewriteRule ^(.*)\.jpg$ /scripts/$1.php

가능하지만 HTTP 리디렉션을 초래할 것입니다.

RewriteEngine on
RewriteRule ^somename\.jpg$ http://remoteserver/dynamicimage.php [L]

대안은 a를 사용하는 것입니다 대리 (보다 P 깃발), 서버가 원격 자원을 요청하고 클라이언트로 다시 전달하도록합니다.

훨씬 더 복잡하지만 놀라운 강력한 방법은이 로컬 이미지 위치 URL에 대해 활성화되는 일부 처리기 코드를 작성하는 것입니다.

이것은 외국 URL의 데이터를 가져오고 올바른 MIME 유형으로 데이터를 출력합니다.

하나는 또한이 데이터를 캐시하기 위해 일부 코드를 작성합니다.

이렇게하면 이미지의 실제 위치를 제공하지 않을 것이며 사이트에 표시되지 않아야 할 로그인다 다 또는 타사 쿠키와 같은 비밀 자격 증명을 사용할 수도 있습니다.

이 모든 것은 Apache 구성에서 리디렉션을 단순히 구성하는 것이 훨씬 어렵습니다. URL이 그렇지 않으면 개인 정보를 유출하는 경우 이와 같은 일을했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top