ファイルダウンロード

解決済みの質問

ファイルダウンロード

Webサーバーの公開フォルダにあるファイルを、ローカルに保存したいのですが、Linuxのように wget http://xxx.xxxx.xxx/zzzz/ddd.zipする方法をPHPで考えてます。

$get1 = "http//xxx.xxxx.xxx/zzz/ddd.zip";
$get2 = "ddd.zip";
header("Content-Type: application/zip");
header("Content-disposition: attachment; filename=$get2");
$fp = fopen($get1, 'rb');

ダウンロードする際にダイアログが開かないで、ローカルの指定のフォルダに保存をおこなうようにしたいです。よろしくお願いします。

投稿日時 - 2008-02-08 18:57:10

連想キーワード:

QNo.3756826

暇なときに回答ください

質問者が選んだベストアンサー

補足ありがとうございます。

>サーバー機のApache公開フォルダ(ブラウザでアクセスするとindexが見える
>状態)へ、クライアント内で直接PHPスクリプトを実行させ、サーバーから
>ファイルGETをしてくるイメージです。なのでサーバー側にはPHPスクリプト
>はありません。

であれば、クライアントPCで実行するphpスクリプトは、

・file_get_contentsでサーバからファイルを読み込む
  (Apacheが返す内容しか取得できない)
・取得した内容を直接ローカルのファイルに書き出す

という手順になるのではありませんか?

投稿日時 - 2008-02-12 03:31:00

お礼

shimixさん、忙しいところ回答ありがとうございます

fputs($file_dir.$file_name, file_get_contents($http_url));
で直接ローカルの指定場所にファイル保存できました。

このたびはご教示していただきありがとうございました。

投稿日時 - 2008-02-15 12:03:34

ANo.2

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

phpスクリプトを置いているサーバとは別のサーバのファイルですよね?で、phpを置いているサーバでなく、phpにアクセスしたクライアントのローカルに保存という手順でよろしいですか?

もしそうであれば、自動的に指定のフォルダに保存は出来ません。そんなことが出来たらセキュリティホールになってしまいますから。

#そもそもクライアントPCのOSもわからないし・・

投稿日時 - 2008-02-08 21:53:57

補足

shimixさんお忙しい所、投稿ありがとうございます。

>phpスクリプトを置いているサーバとは別のサーバのファイルですよね?
はい、その通りです。

えーと、もう少し加筆しますね
サーバー機のApache公開フォルダ(ブラウザでアクセスするとindexが見える状態)へ、クライアント内で直接PHPスクリプトを実行させ、サーバーからファイルGETをしてくるイメージです。なのでサーバー側にはPHPスクリプトはありません。

動作環境ですが、クライアントはWindows上でxamp環境下でPHPを動作させてます。表現が正しいかわかりませんが、FTPサーバー(ここで言うApache公開フォルダ)にアクセスしファイルGETするような動作(ユーザー認証なし)をPHPスクリプト行う・・・もっとわかりにくくなってきたのでunset(汗);

投稿日時 - 2008-02-09 01:32:50

あわせてチェックしたい
  • style.visibility="hidden"; ...
  • 文字列の ' aaa"bbbccc"ddd' から"で囲まれた部分を抜き出したい ...
  • print "Content-type: text/html\n"; の行方 ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら