2011-08-17 4 views
1

私は、書籍の複数のページを取得してモバイルユーザー向けに1つのファイルにするサイトを作っています。サイトはhttp://bookgrabber.comze.comです。今、私は完成した本をダウンロードするためのダウンロードリンクを提供しています。ダウンロードリンクは実際にdownloadBook.phpへのリンクです。すべてがかなりうまく動作しますが、「リンクを保存」をクリックすると、ブックのタイトルの最初の単語が「名前を付けて保存」ダイアログに表示されます...どこから来ているのですか? ブラウザはどこでダウンロードタイトルを取得しますか?

header('Content-disposition: attachment; filename='.$_SESSION['bookName'].'.html'); 
header('Content-type: application/html'); 
echo $_SESSION['book']; 

ありがとう、 トッド

答えて

4

何あなたの最初のheaderの行があります:ここで

がdownloadBook.phpページ上にあるものです...ページのHTMLには表示されません。ブラウザは、ファイルをダウンロードして表示する必要があることをブラウザに伝え、ファイル名の内容を指示します。

header('Content-disposition: attachment; filename='.$_SESSION['bookName'].'.html'); 

部分の部分は、ファイル名を指定する必要があります。空白を含む名前はContent-dispositionヘッダーに二重引用符で囲む必要があるため、最初のスペース(最初の単語のみ)で区切られています。

header('Content-disposition: attachment; filename="'.$_SESSION['bookName'].'.html"'); 
+0

Wow!それは速かった!そしてまた修正してください。どうもありがとうございました。 – maddogandnoriko

関連する問題