この記事は主にphpでファイルのダウンロード速度を制御する方法を紹介しており、それを必要とする友人は参考にすることができます。それに
この記事の例では、PHP でファイルのダウンロード速度を制御する方法を説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* * ここでダウンロード速度の制限を設定します (例: 10.20 Kb/s) */ $download_rate = 10.20; $download_file = 'ダウンロードファイル.zip'; $target_file = 'target-file.zip'; if(file_exists($download_file)){ /* ヘッダー */ header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT'); header('キャッシュ制御: プライベート'); header('Content-Type: application/octet-stream'); header('Content-Length: '.filesize($download_file)); header('Content-Disposition: filename='.$target_file); /* コンテンツをフラッシュ */ フラッシュ(); /* ファイルを開く */ $fh = @fopen($download_file, 'r'); ながら(!feof($fh)){ /* ファイルの現在の部分のみをブラウザに送信します */ print fread($fh,round($download_rate * 1024)); /* コンテンツをブラウザにフラッシュします */ フラッシュ(); /* 1 秒間スリープします */ 睡眠(1); } /* ファイルを閉じる */ @fclose($fh); }その他{ die('致命的なエラー: '.$download_file.' ファイルが存在しません!'); } ?> |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。