dポイントプレゼントキャンペーン実施中!

どこかのサイト上で公開されているPDFファイルを、絶対パスで指定して、ローカルPCにダウンロードさせたいと思っています(ファイル名はダウンロード先のファイル名のまま保存)。

これがPHPのプログラムで可能ならば、ソース例をご提示いただきたく、お願いいたします。

A 回答 (2件)

こんな感じでどうでしょう?



<?PHP
$filename="http://www.xxx/test.pdf";
$fp=fopen($filename,"r");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\"");
while(!feof($fp)){
echo fgets($fp,1024);
}
exit();
?>
    • good
    • 0
この回答へのお礼

ありがとうございます。

早速、PHPファイルを生成して、BのサーバにPHPファイルをおいてブラウザで実行してみたのですが、ディスプレイへの出力が文字化けしてしまいました。

試しに他のPDFファイルも指定してみたのですが、結果は同じく文字化けしてしまいました。

因みに、文字化けが解消されたとして、上記のサンプルコードはブラウザの画面にPDFの内容を出力する処理なのでしょうか?

保存先の指定は出来ないにしろ、CのクライアントPCまたはBのサーバに保存する、等は出来ないのでしょうか?

お礼日時:2011/06/13 13:14

構成がわからない



どこかのサーバー:A
PHPを運用するサーバー:B
クライアントPC:C

CはBを経由してAのPDFをダウンロードする・・・と考えればよろしいですか?

であればBにAのファイルをファイルI/Oさせて、Bでダウンロード用の
httpヘッダーをつけて出力させることになります。
ファイルの保存場所などを指定してダウンロードさせることは
仕組み上できません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>どこかのサーバー:A
>PHPを運用するサーバー:B
>クライアントPC:C
>CはBを経由してAのPDFをダウンロードする

構成と処理の流れは上記のとおりで、AとBのサーバーは区別します。

>BにAのファイルをファイルI/O、Bでダウンロード用のhttpヘッダーをつけて出力

について、すみません…。こちらもう少し具体的に教えていただけないでしょうか。

AにおいてあるPDFファイルのURLをhttp://www.xxx/test.pdfと仮定して、処理用PHPファイルのソース例をご教示いただきたくお願いします。

お礼日時:2011/06/13 12:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!