我可以在readfile()中使用外部URL吗?
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');
答案 0 :(得分:19)
readfile
上的PHP手册指出:
如果已启用fopen wrappers,则可以将URL用作具有此功能的文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。请参阅Supported Protocols and Wrappers以获取有关各种包装器具有哪些功能的信息的链接,使用说明以及它们可能提供的任何预定义变量的信息。
作为替代方案,您还可以使用file_get_contents
:
echo file_get_contents("http://...z/pub/".$file.'.pdf');
答案 1 :(得分:2)
是的,根据readfile页面:
URL可以用作文件名 这个函数如果是fopen_wrappers 已启用。看到 fopen()了解更多有关如何使用的细节 指定文件名。见 Supported Protocols and Wrappers 有关什么的信息的链接 各种包装的能力, 关于它们的用法和信息的说明 在他们可能的任何预定义变量 提供。