この記事では、ダウンロードのショートポイント再開を実装するためのいくつかのプログラム関数をまとめます。これらの関数は主に PHP のヘッダー関数を使用します。詳しく知りたい人は参照してください。
例: ダウンロード時に、ダウンロードファイルのサイズ、ファイル名などを出力します。
前提として、.htaccess ファイルの設定には
SetEnv no-gzip dont-vary という文を追加する必要があります
つまり、ファイルは圧縮された
例1
コードは次のとおりです | コードをコピーします |
function download($file_dir,$file_name) | 代码如下
$fsize = ファイルサイズ($fname); | if (isset($_SERVER['HTTP_RANGE']) && ($_SERVER['HTTP_RANGE'] != "") && preg_match("/^ bytes= ([0-9]+)-$/i", $_SERVER['HTTP_RANGE'], $match) && ($match[1] < $fsize)) {$start = $match[1] ; | } else {||||
if ($star--> 0) { fseek ($ fp, $start); Header("HTTP/1.1 206 部分コンテンツ"); Header("Content-Length: " . ($fsize - $start)); Header("Content-Range: bytes") . $ start . "-" . "/" . $fsize); header("Accept-Ranges: bytes") ); } @header("Content-Type: application/octet-stream"); @header("Content-Disposition:attachment;filename=mmdld.mp3");
この関数は、指定されたファイル ポインターを現在の位置から EOF まで読み取り、結果を出力バッファーに書き込みます。 上記の 2 つの例は、中国語を適切にサポートしていません。次の関数は、この問題をうまく解決します。コードは以下の通りです
|