ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで HTTP ブレークポイント再開を実装する方法

PHP_PHP チュートリアルで HTTP ブレークポイント再開を実装する方法

WBOY
WBOYオリジナル
2016-07-13 09:49:58899ブラウズ

PHP による HTTP ブレークポイントの再開可能な送信の実装方法

PHP で HTTP ブレークポイントの再開可能な送信を実装するメソッド。皆さんの参考に共有してください。具体的な実装方法は以下の通りです

?

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

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

/**

* PHP-HTTP ブレークポイント再開転送の実装

* @param string $path: ファイルが配置されているパス

* @param string $file: ファイル名

* @return void

*/

関数ダウンロード($path,$file) {

$real = $path.'/'.$file;

if(!file_exists($real)) {

false を返す;

}

$size = ファイルサイズ($real);

$size2 = $size-1;

$範囲 = 0;

if(isset($_SERVER['HTTP_RANGE'])) {

header('HTTP /1.1 206 部分的なコンテンツ');

$range = str_replace('=','-',$_SERVER['HTTP_RANGE']);

$range = 爆発('-',$range);

$range = トリム($range[1]);

header('Content-Length:'.$size);

header('Content-Range: バイト '.$range.'-'.$size2.'/'.$size);

} 他 {

header('Content-Length:'.$size);

header('Content-Range: バイト 0-'.$size2.'/'.$size);

}

header('Accenpt-Range: バイト');

header('application/octet-stream');

header("キャッシュ制御: public");

header("プラグマ: public");

//IEでのダウンロード時の中国語文字化け問題を解決

$ua = $_SERVER['HTTP_USER_AGENT'];

if(preg_match('/MSIE/',$ua)) {

$ie_filename = str_replace('+','%20',urlencode($file));

header('Content-Dispositon:attachment; filename='.$ie_filename);

} 他 {

header('Content-Dispositon:attachment; filename='.$file);

}

$fp = fopen($real,'rb+');

fseek($fp,$range);

while(!feof($fp)) {

set_time_limit(0);

print(fread($fp,1024));

フラッシュ();

ob_flush();

}

fclose($fp);

}

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1018382.html技術記事 PHP で HTTP ブレークポイント再開転送を実装する方法 この記事では、PHP で HTTP ブレークポイント再開転送を実装する方法について説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです: 1 2 3 4 5 6 7 8 9 10 11...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。