13

我可以在 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');
4

2 回答 2

23

关于状态的 PHP 手册readfile

如果启用了fopen 包装器,则 URL 可以用作此函数的文件名。有关如何指定文件名的更多详细信息,请参阅fopen() 。请参阅支持的协议和包装器以获取有关各种包装器具有哪些功能的信息的链接、有关其使用的说明以及有关它们可能提供的任何预定义变量的信息。

作为替代方案,您还可以使用file_get_contents

echo file_get_contents("http://...z/pub/".$file.'.pdf');
于 2011-01-20T20:49:55.910 回答
3

是的,根据readfile页面:

如果fopen_wrappers 已启用,则 URL 可用作此函数的文件名。有关如何指定文件名的更多详细信息,请参阅 fopen()。请参阅 支持的协议和包装 器以获取有关各种包装器具有哪些功能的信息的链接、有关其使用的说明以及有关它们可能提供的任何预定义变量的信息。

于 2011-01-20T20:50:07.880 回答