[PHP-users 24283] Re: 携帯用3G2ファイルダウンロードについて
原田
harada @ cosmoshark.net
2005年 1月 27日 (木) 18:57:22 JST
原田と申します。
Hisashi Takahashi wrote:
> 行った際に、携帯にデータのダウンロードが行えません。
EZWEBで3G2等をダウンロードするときはクライアントからは分割ダウンロードの
リクエストが来たはずです。
つまり、$_SERVER['HTTP_RANGE']がセットされていれば
$range = $_SERVER["HTTP_RANGE"];
if (preg_match("/^bytes=(\d+)\-(\d+)$/", $range, $arr)) {
$offset = $arr[1];
$end = $arr[2];
$len = $end - $offset + 1;
}
のようにしてオフセット、エンド、バイト数を取得し、
header("HTTP/1.1 206 Partial Content");
header("ETag: $etag");
header("Accept-Ranges: bytes");
header(sprintf("Content-Range: bytes %d-%d/%d",$offset, $end, $fsize));
header("Last-Modified: $last_update");
header(sprintf("Content-Length: %d", $len));
header("Content-Type: video/3gpp2");
としてヘッダを送信後に実際の動画データの$offsetバイト目から$lenバイト分
送るというやり方で出来たと思います。
PHP-users メーリングリストの案内