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("www.example.com/test.pdf");
?>

现在,如果我将 readfile 更改为:

// The PDF source is in original.pdf
readfile("test.pdf");

它工作正常,但如果我指定和绝对 URL, readfile("www.example.com/test.pdf");

PDF 打不开。以上似乎只在本地工作。

有谁知道为什么绝对网址不起作用?干杯

解决方案:

// The PDF source is in original.pdf 

readfile($_SERVER['DOCUMENT_ROOT']."/test.pdf"); 

此函数仅适用于绝对路径,不适用于 url。

4

3 回答 3

2
  • 您缺少协议:http://
  • 并检查您的allow_url_fopen设置!
  • 开启错误报告

.

ini_set('display_errors', true);
error_reporting(E_ALL);

更聪明的方法是在本地存储/缓存远程文件,因此您不必每次都下载它。它将减轻目标站点的负担。

于 2012-07-18T12:38:59.363 回答
0

如果启用了fopen包装器,则 URL 可以用作此函数的文件名。

于 2012-07-18T12:37:27.733 回答
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://”,您将无法下载。

于 2012-07-18T12:39:49.867 回答