Maison >développement back-end >tutoriel php >readfile输出文件到浏览器页面,想要改变这个页面的title
<code>$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; </code>
像上面所述,// 1 处输出在页面输出了pdf内容,但是页面的title没有变,我现在想把这个输出pdf的页面title改为$pdf_name的值,用了ob_start()/ob_end_flush()/echo "
<code>$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; </code>
像上面所述,// 1 处输出在页面输出了pdf内容,但是页面的title没有变,我现在想把这个输出pdf的页面title改为$pdf_name的值,用了ob_start()/ob_end_flush()/echo "
你输出的内容是 application/pdf
类型的, 所以浏览器拿什么内容做标题, 你是没办法通过输出 <title></title>
来控制的.
目前实验的结果是:
chrome 在显示 pdf文件时, 标题是显示的URL地址.
IE 是直接显示下载的(如果安装的有PDF阅读的插件不排除是直接显示,而非下载的情况).
Firefox 在加载中的时候,显示的是PDF的文件名, 加载完成之后,显示的是PDF中的标题.
以这个URL为例: http://www.st.com/web/en/resource/technical/document/datasheet/CD00001...
Chrome:
IE:
Firefox: