[PHP-users 25459] Re: 任意のHTTPサーバのファイルをコマンドライン上からダウンロードしたい
kitsune.info
webmaster @ kitsune.info
2005年 4月 25日 (月) 20:13:29 JST
kitsune.info です。
環境を選ぶのであまりよい回答ではないと思いますが、近い例を書いておきます。
On Sun, 24 Apr 2005 13:53:22 +0900
"Iso, Toshitaka" <toshitaka.iso @ hp.com> wrote:
> 任意のHTTPサーバ上にあるファイル(http://www.hoge.com/20050424.exe)を
> IEからではなく、コマンドライン上からダウンロードするPHPスクリプトを作成しているのですが、
> 画面上にバイナリファイルの中身が標準出力されてしまい、保存されません。
(snip)
> 希望する動きとしては、http://www.hoge.com/20050424.exeにアクセスして、
> 20050424.exeをローカルサーバ(PHPを実行したサーバ)のディレクトリに保存
> するという動きです。
UNIX サーバでの話ですが、exec() で wget を呼び出してサーバ引っ越し
プログラムを作ったことがあります。
たしかこんな感じだったかと。
===== code start =====
$command = "wget -O $filename $path_file";
if (! is_file($filename)) { // 保存先のファイルが存在するかチェック
exec($command, $result, $status);
switch ($status) { // wget 実行の可否で分岐
case 0:
echo "$path_file を $filename として保存しています...";
break;
default:
echo "$path_file の保存に失敗しました。";
}
} else {
echo "$filename はすでに存在します。";
}
===== code end =====
.exe とあることから Windows サーバっぽいですが、その場合は wget が
ありませんのでこのままでは動きません。
win32 用の wget があるので、それをインストールしてあれば別ですが。
# そうなると wget のライセンス(たぶん GPL)に合わせる必要があるかも。
==================================
http://kitsune.info/
kitsune.info <webmaster @ kitsune.info>
==================================
PHP-users メーリングリストの案内