<?php
header("Content-Type: application/pdf");
header('Content-Disposition: inline; filename="'.addslashes($_REQUEST['title']).'"'); //filename doesn't set the browser title here, only when page is saved/downloaded
$content = file_get_contents($_REQUEST['filename']);
header('Content-Length: '.strlen($content));
echo $content;
3条答案
按热度按时间6l7fqoea1#
下面是一个可以设置的http头。
f3temu5u2#
我怀疑您遇到的问题是客户端浏览器将文件名存储在历史记录中,而您无法修复此问题。
上次我检查的时候,历史记录中的标题来自HTML页面的设置(不是标题),所以应该没有标题的HTTP标题字段。
我不是HTTPMaven,不知道所有的字段,但我不记得在任何服务器中有一个设置,我曾经与设置页面的标题(只是状态代码,协议等)。
yvt65v4c3#
我创建了一个PHP脚本(例如download.php,文件名无关紧要),如下所示:
在我的设置(Windows 10;Apache2.4.37; PHP 7.1.25),您现在可以执行如下请求:下载下载
我在Chrome和Firefox中成功地测试了这一点。Internet Explorer无法显示PDF文档内联:-/。Microsoft Edge还在标题栏中包含了URL参数:-(。