Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止使用PHP自动下载PDF文件_Php_Html_Pdf_Iframe - Fatal编程技术网

防止使用PHP自动下载PDF文件

防止使用PHP自动下载PDF文件,php,html,pdf,iframe,Php,Html,Pdf,Iframe,我必须在我的网站上显示PDF文件,所以我使用进行了编码,但问题是当我打开我的网站时,PDF文件开始下载而不是查看。 这是我的密码 <?php $pdf = 'http://'. $_SERVER['SERVER_NAME']."/truwood/".$_REQUEST['pdf']; echo "<iframe src=\"$pdf\" width=\"100%\" style=\"height:600px\"></iframe>"; ?> 注意:我

我必须在我的网站上显示PDF文件,所以我使用
进行了编码,但问题是当我打开我的网站时,PDF文件开始下载而不是查看。 这是我的密码

<?php
 $pdf = 'http://'. $_SERVER['SERVER_NAME']."/truwood/".$_REQUEST['pdf'];
 echo "<iframe src=\"$pdf\" width=\"100%\" style=\"height:600px\"></iframe>";
?>

注意:我已经在我的笔记本电脑上安装了IDM(互联网下载管理器),我认为这只是IDM的问题

请提供一些建议,防止从PHP中的任何第三方软件自动下载


提前谢谢

您可以选择以下一种方式:

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


有关更多详细信息,请查看。

您可以选择以下一种方式:

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


有关更多详细信息,请检查。

如果您的文件是在IDM中自动下载的,而不是您的代码问题。从浏览器禁用IDM加载项后重试

如果您的文件是在IDM中自动下载的,那么这不是您的代码问题。从浏览器禁用IDM加载项后重试

我对你的问题有一个建议,但没有经过测试。将文件复制到临时文件夹,并将文件扩展名更改为除(
.pdf
)以外的其他文件扩展名。例如,您可以使用(
.pdf.xyz
)然后您可以使用此文件的url而不是实际的url。这样,下载管理器就不会截取文件并下载它,因为他们不会识别您添加到文件中的扩展名。您的url现在将读取
http://www.foo.bar/my_document.pdf.xyz
http://www.foo.bar/my_document.xyz
而不是
http://www.foo.bar/my_document.pdf
然后,您可以创建一个cron作业来删除任何3小时前的临时文件。

我有一个建议供您参考问题,但它没有测试。将文件复制到临时文件夹,并将文件扩展名更改为除(
.pdf
)以外的其他文件扩展名。例如,您可以使用(
.pdf.xyz
)然后您可以使用此文件的url而不是实际的url。这样,下载管理器就不会截取文件并下载它,因为他们不会识别您添加到文件中的扩展名。您的url现在将读取
http://www.foo.bar/my_document.pdf.xyz
http://www.foo.bar/my_document.xyz
而不是
http://www.foo.bar/my_document.pdf
然后,您可以创建一个cron作业来删除任何3小时前的临时文件。

Best of the Best idea Best of the the好主意