[PHP-users 25465] Re: 任意のHTTPサーバのファイルをコマンドライン上からダウンロードしたい

bananaire bananaire @ yahoo.co.jp
2005年 4月 25日 (月) 23:57:11 JST


bananaireです。

<?php
$path_file="http://www.hoge.com/20050424.exe";
$data = file_get_contents($path_file);
$fp = fopen( basename($path_file),"w") ; 
// basenameにURLを指定できましたっけ?

fwrite( $fp, $data );
fclose( $fp );
?>
みたいな感じでいいんじゃないですか?(テストしてません)


> $content_length = @filesize( $path_file );
> 
リモートファイルに filesizeは使えなかったはず。


> /* ダウンロード用のHTTPヘッダ送信 */
> header("Content-Disposition: inline; filename=\"".basename($path_file)."\"");
> header("Content-Type: application/octet-stream");
> header("Content-Length: $content_length");

なんでヘッダーを出力するんでしょうか。


> /* 保存処理 */
> $fp = @fopen( "$path_file", "rb" ) ;
> @fpassthru( $fp );

fpassthruのマニュアルを見ると  
与えられたファイルポインタをEOFまで読み、結果を標準出力に書き出します。
                                              ^^^^^^^^^^^^^^^^^^^^^^
とあります。

マニュアルを読まれることをおすすめします。




-- 
bananaire <bananaire @ yahoo.co.jp>


__________________________________
Do You Yahoo!?
Upgrade Your Life
http://bb.yahoo.co.jp/



PHP-users メーリングリストの案内