readfile输出文件到浏览器页面,想要改变这个页面的title
程序员文章站
2022-03-19 17:51:54
...
$pdf_name=basename($_SERVER['REQUEST_URI']);
$pdf_dir=registry("DOC_ROOT")."test/". $csrUid. "/" . $pdf_name;
if (!file_exists($pdf_dir)) {
die ("文件不存在!") ;
}
//$pdf_dir = http://xxxx.com/test/test-2015/download.pdf
header("Content-type: application/pdf");
readfile($pdf_dir); // 1
exit;
像上面所述,// 1 处输出在页面输出了pdf内容,但是页面的title没有变,我现在想把这个输出pdf的页面title改为$pdf_name的值,用了ob_start()/ob_end_flush()/echo "
求解该怎么书写呢?
回复内容:
$pdf_name=basename($_SERVER['REQUEST_URI']);
$pdf_dir=registry("DOC_ROOT")."test/". $csrUid. "/" . $pdf_name;
if (!file_exists($pdf_dir)) {
die ("文件不存在!") ;
}
//$pdf_dir = http://xxxx.com/test/test-2015/download.pdf
header("Content-type: application/pdf");
readfile($pdf_dir); // 1
exit;
像上面所述,// 1 处输出在页面输出了pdf内容,但是页面的title没有变,我现在想把这个输出pdf的页面title改为$pdf_name的值,用了ob_start()/ob_end_flush()/echo "
求解该怎么书写呢?
你输出的内容是 application/pdf
类型的, 所以浏览器拿什么内容做标题, 你是没办法通过输出
来控制的.
目前实验的结果是:
chrome 在显示 pdf文件时, 标题是显示的URL地址.
IE 是直接显示下载的(如果安装的有PDF阅读的插件不排除是直接显示,而非下载的情况).
Firefox 在加载中的时候,显示的是PDF的文件名, 加载完成之后,显示的是PDF中的标题.
以这个URL为例: http://www.st.com/web/en/resource/technical/document/datasheet/CD00001...
Chrome:
IE:
Firefox:
上一篇: 详解JavaScript继承方式(四)
下一篇: php操作数据库判断表是否存在的方法