我的脚本如下:
<?php
header("Content-type:application/pdf");
// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='test.pdf'");
// The PDF source is in original.pdf
readfile("www.example.com/test.pdf");
?>
现在,如果我将readfile更改为:
// The PDF source is in original.pdf
readfile("test.pdf");
如果我指定了绝对网址readfile("www.example.com/test.pdf");
PDF无法打开。以上似乎只能在本地使用。
有人知道为什么绝对网址不起作用吗?干杯
解决方案:
// The PDF source is in original.pdf
readfile($_SERVER['DOCUMENT_ROOT']."/test.pdf");
此功能仅适用于绝对路径,而不适用于网址。
答案 0 :(得分:2)
http://
allow_url_fopen
设置!
ini_set('display_errors', true);
error_reporting(E_ALL);
更智能的方法是在本地存储/缓存远程文件,因此您不必每次都下载它。它会减轻目标站点的负担。
答案 1 :(得分:0)
如果已启用fopen包装,则可以将URL用作此函数的文件名。
答案 2 :(得分:0)
尝试这个......,
<?php
header("Content-type:application/pdf");
// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='test.pdf'");
// The PDF source is in original.pdf
readfile("http://www.example.com/test.pdf");
?>
没有“http://”你无法下载。