首頁 >後端開發 >php教程 >readfile输出文件到浏览器页面,想要改变这个页面的title

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

WBOY
WBOY原創
2016-06-06 20:34:111299瀏覽

<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 "

$pdf_name"; ,还是失败了,不能改变这个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 "

$pdf_name"; ,还是失败了,不能改变这个title。
求解该怎么书写呢?

你输出的内容是 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:
readfile输出文件到浏览器页面,想要改变这个页面的title

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn