加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

IE(HTTPS):从php文件生成pdf不起作用

发布时间:2020-12-13 13:38:55 所属栏目:PHP教程 来源:网络整理
导读:这是我的问题.我试图调用一个页面:foo.php?docID = bar并将PDF返回到在DB中作为BLOB存储的屏幕. 这是我的代码实际返回PDF的部分: $docID = isset($_REQUEST['docID']) ? $_REQUEST['docID'] : null;if ($docID == null){ die("Document ID was not given.
这是我的问题.我试图调用一个页面:foo.php?docID = bar并将PDF返回到在DB中作为BLOB存储的屏幕.

这是我的代码实际返回PDF的部分:

$docID = isset($_REQUEST['docID']) ? $_REQUEST['docID'] : null;

if ($docID == null){
    die("Document ID was not given.");
}

$results = getDocumentResults($docID);

if (verifyUser($user,$results['ProductId'])){
    header('Content-type: application/pdf');
    // this is the BLOB data from the results.
    print $results[1];
}
else{
    die('You are not allowed to view this document.');
}

这在Firefox中工作得很好.

但是,在IE中,它根本不显示任何东西.如果我在另一个网页(即google.com)上,并输入网址即可进入此页面,它会说明已经完成,但我仍然会在我的屏幕上显示google.com.

我检查了来自firefox和IE的响应的标题.他们是一样的

有没有人有什么建议?需要更多信息?

编辑:如果它有帮助,这里是响应标题和内容的第一行:

HTTP/1.1 200 OK
Cache-Control: no-store,no-cache,must-revalidate,post-check=0,pre-check=0
Pragma: no-cache
Content-Length: 349930
Content-Type: application/pdf
Expires: Thu,19 Nov 1981 08:52:00 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: PHP/5.1.2
Set-Cookie: PHPSESSID=cql3n3oc13crv3r46h2q04dvq4; path=/; domain=.example.com
Content-Disposition: inline; filename='downloadedFile.pdf'
X-Powered-By: ASP.NET
Date: Tue,21 Apr 2009 16:35:59 GMT

%PDF-1.4

编辑:此外,拉出pdf文件的页面实际上使用HTTPS而不是HTTP.

提前致谢,

?扎克

我想出了什么问题.这是一个处理IE,HTTPS和插件的IE错误. (见 here)

这是一个缓存问题.当我设置:

header("Cache-Control:  max-age=1");
  header("Pragma: public");

(见here),这个PDF缓存足够长,足以让adobe reader加载项抓住它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读