我正在一个网站上工作,以获取一本书的多个页面,并为移动用户创建一个文件。该网站位于http://bookgrabber.comze.com。现在我提供下载完成的书籍的下载链接。下载链接实际上是downloadBook.php的链接。一切都运行得很好,正如预期的那样,但当你点击“保存链接为”时,书中标题的第一个单词出现在另存为对话框中...来自哪里,我可以改变它?它没有出现在页面的html中......
以下是downloadBook.php页面上的内容:
header('Content-disposition: attachment; filename='.$_SESSION['bookName'].'.html');
header('Content-type: application/html');
echo $_SESSION['book'];
谢谢你, 托德
答案 0 :(得分:4)
这就是您的第一个header
行的目的:告诉浏览器该文件应该下载并且不显示,并告诉它文件名应该是什么。
header('Content-disposition: attachment; filename='.$_SESSION['bookName'].'.html');
filename=
部分告诉浏览器文件名应该是什么。它在第一个空格处被切断(只有第一个单词),因为带有空格的名称应该在Content-disposition标题中用双引号括起来:
header('Content-disposition: attachment; filename="'.$_SESSION['bookName'].'.html"');