我在服务器A上有脚本-1,用户要求输入文件。
我有服务器B(文件存储库)上的脚本-2,我检查用户可以访问它并返回正确的文件(我正在使用智能文件下载http://www.zubrag.com/scripts/download.php)。PHP服务器到服务器文件请求
我已经试过cURL和file_get_contents,我已经以各种方式更改了内容标题,但是我仍然无法下载该文件。
这是我的要求:
$request = "http://mysite.com/download.php?f=test.pdf";
,它工作正常。 我应该在script-1中调用什么来强制文件被下载?
我的一些尝试
这工作,但我不知道如何处理未经授权或续传
header('Content-type: application/pdf');
$handle = fopen($request, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
此打印PDF格式的代码(不是文本)直中的浏览器(我认为这是一个头的问题):
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $request);
$contents = curl_exec($c);
curl_close($c);
if ($contents) return $contents;
else return FALSE;
这产生白色页面
file_get_contents($request);
什么是你的错误信息?在php.ini中启用'allow_url_fopen'吗? –
您的意思是pdf在浏览器中显示,而不是下载? – Dutow
不,我的意思是我看到pdf标签和不可读的字符。 – pasine