我必须在我的网站上显示PDF文件,所以我使用<iframe>
进行了编码,但问题是当我打开我的网站时,PDF文件开始下载而不是查看。
这是我的代码
<?php
$pdf = 'http://'. $_SERVER['SERVER_NAME']."/truwood/".$_REQUEST['pdf'];
echo "<iframe src=\"$pdf\" width=\"100%\" style=\"height:600px\"></iframe>";
?>
注意:我已将IDM(Internet Download Manager)安装到我的笔记本电脑上,我认为这只是IDM的问题。
请建议阻止从PHP中的任何第三方软件自动下载的内容。
提前致谢!
答案 0 :(得分:1)
您可以选择以下一种方式:
header("Content-type: application/pdf");
header("Content-Disposition: inline; filename=filename.pdf");
@readfile('path\to\filename.pdf');
或:(注意转义的双引号)。在为其指定名称时也需要使用相同的内容。
<?php
echo "<iframe src=\"file.pdf\" width=\"100%\" style=\"height:100%\"></iframe>";
?>
注意:尝试在Windows 8中查看PDF文件时存在已知问题。如果未安装任何浏览器插件,则安装Adobe Acrobat Reader是查看这些类型文档的更好方法。并尝试使用禁用IDM。
有关详细信息,请查看SO Link。
答案 1 :(得分:1)
如果您的文件是在IDM中自动下载而不是您的代码问题。从浏览器禁用IDM添加后再试一次。
答案 2 :(得分:0)
我对您的问题有一个建议,但尚未测试。将文件复制到临时文件夹,然后将文件扩展名更改为( .pdf
)以外的其他名称,例如,可以使用( .pdf.xyz
)然后使用此文件的网址,而不是实际的网址。这样,下载管理器将不会拦截并下载文件,因为他们无法识别您添加到文件中的扩展名。您的网址现在将显示为 http://www.foo.bar/my_document.pdf.xyz
或 http://www.foo.bar/my_document.xyz
而不是http://www.foo.bar/my_document.pdf
,然后您可以创建cron作业以删除任何临时文件可以说是3个小时大。