PDFファイルをサーバーにアップし、

そのPDFファイルをダウンロードする際、
ブラウザにPDFファイルが開くことなく、
ダイアログが出るように設定するようにしたいと考えています。
HTTPヘッダに「Content-Disposition: attachment; filename="***.pdf"」
を追加すれば良いのは分かったのですが、
具体的に何をどうすれば良いのかが全く分かりません。
作業手順を詳しく教えて頂けないでしょうか。
宜しくお願い致します。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2008/01/19 14:30:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:reportking No.1

回答回数2ベストアンサー獲得回数0

ポイント35pt

PHPファイルなどで、ファイルを開かせれば可能です。

以下にサンプルソースを貼っておきます。

ダウンロードページのソース

<a href="./download.php">ダウンロード</a>


ダウンロード用ファイル(ファイル名 download.php)

<?php

$file = "/home/user/pdffile.pdf";

$file_name = "ファイル名";

$file_size = filesize($file);

header ("Content-Disposition: attachment; filename=$file_name");

header ("Content-Length:$file_size");

header ("Content-type: application/x-csv;charset=Shift_JIS");

readfile($file);

?>

id:SERENDY

PHPファイルは、どのように作成すれば良いのでしょうか?

2008/01/14 13:22:58
id:yoneto164 No.2

回答回数813ベストアンサー獲得回数94

ポイント35pt

サーバー側で「.htaccess」の使用が許可されている必要がありますが、

テキストエディタで

AddType application/octet-stream pdf

と書いた「.htaccess」ファイルを、

そのディレクトリかそれ以上のディレクトに置けばOKです。

これで 拡張子pdf のファイルへアクセスしたさいにダイアログが出現します。


「.htaccess」というファイル名はローカルで作成できない場合がありますので、

その場合はサーバーにアップロードしてからファイル名を変更してください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません