readfile输出文件到浏览器页面,想要改变这个页面的title



 $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 "<title>$pdf_name</title>"; ,还是失败了,不能改变这个title。
求解该怎么书写呢?

文件读取 php HTML

咸鱼鱼鱼鱼鱼 8 years, 11 months ago

你输出的内容是 application/pdf 类型的, 所以浏览器拿什么内容做标题, 你是没办法通过输出 <title> 来控制的.

目前实验的结果是:
chrome 在显示 pdf文件时, 标题是显示的URL地址.
IE 是直接显示下载的(如果安装的有PDF阅读的插件不排除是直接显示,而非下载的情况).
Firefox 在加载中的时候,显示的是PDF的文件名, 加载完成之后,显示的是PDF中的标题.
以这个URL为例: http://www.st.com/web/en/resource/technical/document/datasheet/CD00001...
Chrome:
图片描述

IE:
图片描述
Firefox:
图片描述

二叶X三叶 answered 8 years, 11 months ago

Your Answer