Using PHP to implement file download support breakpoints
File download with PHP, with support for the next breakpoint form
Ob_start (); $size = FileSize ($file _dir. $file _name); Enter the file label Header ("Content-type:application/octet-stream"); Header ("Cache-control:must-revalidate, Post-check=0, pre-check=0"); Header ("Content-length:".) $size); $encoded _filename = UrlEncode ($down _name); $encoded _filename = str_replace ("+", "%20", $encoded _filename); $ua = $_server["Http_user_agent"]; When processing the download file name if (Preg_match ("/msie/", $ua)) {header (' content-disposition:attachment; filenam E= "'. $encoded _filename. '"'); } else if (Preg_match ("/firefox/", $ua)) {header (' content-disposition:attachment; filename*= ' utf8\ ' \ '). $down _name. '"'); } else {header (' content-disposition:attachment; filename= '. $down _name. '"'); } $fp = fopen ($file _dir. $file _name, "R"); Open File if(Isset ($_server[' Http_range ') && ($_server[' http_range ']! = ") && preg_match ("/^bytes= ([0-9]+)-/i " , $_server[' Http_range ', $match) && ($match [1] < $size)) {$range = $match [1]; Fseek ($fp, $range); Header ("http/1.1 206 Partial Content"); Header ("Date:".) Gmdate ("D, D M Y h:i:s"). "GMT"); Header ("last-modified:".) Gmdate ("D, D M Y h:i:s", Filemtime ($file _dir. $file _name)). "GMT"); Header ("Accept-ranges:bytes"); $rangesize = ($size-$range) > 0? ($size-$range): 0; Header ("Content-length:".) $rangesize); Header ("Content-range:bytes". $range. '-' . ($size-1). "/" . $size); Header ("Connection:close". "\ n"); Header ("Connection:close". " "); } else {header ("Content-length:". (string) ($size)); Header ("Accept-ranges:bytes"); $range = 0; Header ("Content-range:bytes". $range. '-' . ($size-1). "/" . $size); } fpassthru ($FP); Ob_end_flush (); Fclose ($FP); Exit
This will allow the breakpoint to be downloaded. Want to use PHP to achieve the download of friends useful