在浏览器窗口中加载文件

时间:2013-08-01 23:43:31

标签: php yii header download

我的Yii控制器中有以下代码。当我输入控制器的URL(或单击带有控制器URL的链接)时,文档会加载,但不会内联加载(换句话说,它会提示下载文件)。

否则,通常直接链接到文件会根据需要打开浏览器窗口中嵌入的文件,因此我可以正常执行此操作。

如何在浏览器窗口中打开文件,而不是使用下面的代码强制下载?

$filename = Yii::getPathOfAlias('webroot') . '/docs/brochure.pdf';
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

header('Content-Transfer-Encoding: binary');
header('Content-length: '. strlen($contents));
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=your_brochure.pdf');

echo $contents;

1 个答案:

答案 0 :(得分:1)

我能够解决这个问题。罪魁祸首就是这条线

header('Content-Disposition: **attachment**; filename=your_brochure.pdf');

我改为

header('Content-Disposition: **inline**; filename=your_brochure.pdf')