Thứ Bảy, 9 tháng 3, 2013

Resume download trong PHP

Khi bắt người xem phải download những file dung lượng lơn như mp3,mp4,audio thì ta cần làm download có thể resume(tức là tiếp tục download phần còn lại sau khi bị ngắt).Sau đây là một số cách giúp bạn làm điều đó :


Ý tưởng của hàm trên là gì ?
Đó chính là server của bạn có hỗ trợ BYTE RANGE HTTP REQUEST không.Bạn có thể check thông qua isset($_SERVER['HTTP_RANGE'].Nó kiểu giúp bạn kiểm soát chuyển dữ liệu theo byte.
Ví dụ về Range: header with the bytes parameter

_Nếu chuyển 500 bytes đầu tiên

Range: bytes=0-499

_500 bytes tiếp theo:

Range: bytes=500-999

_Tất cả các byte trừ 500 bytes đầu tiên:

Range: bytes=500-

_500 byte cuối của tài liệu:

Range: bytes=-500

_Two separate ranges:

Range: bytes=50-99,200-249

_The first 100 bytes, 1000 bytes starting from the byte number 500,
and the remainder of the document starting from byte number 4000
(byte numbering starts from zero):

Range: bytes=0-99,500-1499,4000-

_The first 100 bytes, 1000 bytes starting from the byte number 500,
and the last 200 bytes of the document:

Range: bytes=0-99,500-1499,-200



_Biến $partial_content cho ta biết server có hỗ trợ resume không.
_Biến $offset sẽ lưu lại lượng byte mà ta đã download được,khi resume lại biến $length sẽ lưu độ dài download của lần tiếp theo

Ngoài ra còn có các script sau :


Hoặc(Link):

Hoặc(Link):

Không có nhận xét nào:

Đăng nhận xét