2011-01-20 6 views
6

readfile()에서 외부 URL을 사용할 수 있습니까?외부 URL의 PHP readfile()

header('Content-type: application/pdf'); 
    header('Content-Transfer-Encoding: binary'); 
    header('Content-Disposition: inline; filename="'.$file.'" '); 
    //header('Content-Length: ' . filesize("http:...z/pub/".$file.'.pdf')); 
    @readfile("http://...z/pub/".$file.'.pdf'); 
+2

[RTM] (http://php.net/readfile) : "fopen 래퍼가 활성화되어 있으면 URL이이 기능으로 파일 이름으로 사용될 수 있습니다." ;-) – netcoder

+0

'exec ("wget ​​$ url -O $ filename")'할까요? – user583311

답변

17

PHP 매뉴얼 readfile에 상태를 다음 fopen wrappers이 활성화 된 경우

에 대한 URL이 기능을 가진 파일 이름으로 사용할 수 있습니다. 파일 이름을 지정하는 방법에 대한 자세한 내용은 fopen()을 참조하십시오. 다양한 랩퍼의 기능, 사용법에 대한 정보 및 제공 할 수있는 미리 정의 된 변수에 대한 정보에 대한 링크는 Supported Protocols and Wrappers을 참조하십시오.

다른 방법으로 당신은 또한 file_get_contents 사용할 수 있습니다

echo file_get_contents("http://...z/pub/".$file.'.pdf'); 
+0

두 솔루션 모두에서 작동하지 않기 때문에 파일 크기 또는 다른 문제가 발생합니다. – user583311

+0

수정 후 -1 삭제됨) – Mchl

+0

@ user583311 문제가있는 것 같습니까? –

2

예, readfile 페이지에 따라 : URL에 이 함수 경우와 파일 이름으로 사용할 수 있습니다

fopen_wrappers 이 사용되었습니다. 파일 이름 지정 방법에 대한 자세한 내용은 fopen()을 참조하십시오. 미리 정의 된 변수에 대한 다양한 래퍼가 능력, 자신의 사용에 대한주의 사항 및 정보 들이 제공 할 수 있습니다에 대한 정보에 대한 링크는 Supported Protocols and Wrappers 를 참조하십시오.

관련 문제