ホームページ > バックエンド開発 > PHPチュートリアル > PHP ファイルのダウンロード (ダウンロード速度を制限できる) 実装コード_PHP チュートリアル

PHP ファイルのダウンロード (ダウンロード速度を制限できる) 実装コード_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:09:09
オリジナル
909 人が閲覧しました

php でのファイルのダウンロードには、header fopen fread の 3 つの主要な関数が使用されます。また、ファイルの存在を判断する file_exists is_file やその他の関数など、いくつかの補助関数もあります。ダウンロード速度を制限できるファイルのダウンロードの例を見てみましょう。 php チュートリアルのファイルのダウンロードでは、header fopen fread の 3 つの主要な関数が使用されます。また、file_exists is_file などのファイルの存在を確認する関数など、いくつかの補助関数もあります。ダウンロード速度を制限できるファイルのダウンロードの例を見てみましょう。

*/

$file = " test.mp3"; // クライアントに送信されるファイル
$speed = 8.5; // ダウンロード速度制限 8,5 kb/s
if(file_exists($file) && is_file($file)) {
header( "cache-control: private");
header("content-type: application/octet-stream")
header("content-length: ".filesize($) file));
header("content-disposition: filename=$file" . "%20");
flash();
$fd = fopen($file, "r");
while(!feof($ fd)) {
echo fread($fd,round ($speed*1024));
flash();
sleep(1);
fclose ($fd);
}

/*

flush

flush 関数が更新されますecho 動的出力を実装するための PHP プログラムのバッファ
this 関数の実装の結果、ページには echo によって出力されたデータが継続的に表示されます
for ($i=10; $i>0; $i--)
{
echo $i.'
';
ob_flush();
sleep(1);


sleep() 関数はコードの実行を遅らせます。数秒。
header
header() 関数は、生の http ヘッダーをクライアントに送信します。

実際の出力が送信される前に header() 関数を呼び出す必要があることを認識することが重要です (PHP 4 以降では、出力キャッシュを使用してこの問題を解決できます):



filesize ファイル サイズを取得する
fread はfopen によって開かれたファイルの内容



http://www.bkjia.com/PHPjc/444821.html


www.bkjia.com

tru​​e

技術記事 php でのファイルのダウンロードには、header fopen fread の 3 つの主要な関数が使用されます。また、file_exists is_file などのファイルの存在を判断する関数などの補助関数もいくつかあります。 ファイルを見てみましょう...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート