Recommend this page to a friend! |
Bf_Download | > | All threads | > | Changes to work with IE8 | > | (Un) Subscribe thread alerts |
|
Juan Antonio - 2010-02-11 09:44:53
Hello:
I have tested this and it don't work with IExplorer 8. I don't know why? But, how i don't need resume mode, i have changed some lines to another code for 'not resume downloads' and now it's works fine. They are my changes: In the method file_download: if($this->properties["resume"] || $this->properties["max_speed"]>0) { header("Content-Range: $download_range"); // download range // send the file content $fp=fopen($this->properties["path"],"r"); // open the file fseek($fp,$byte_from); // seek to start of missing part while(!feof($fp)){ // start buffered download set_time_limit(0); // reset time limit for big files (has no effect if php is executed in safe mode) print(fread($fp,1024*8)); // send 8ko flush(); usleep($sleep_time); // sleep (for speed limitation) } fclose($fp); // close the file } else readfile($this->properties["path"]); exit;
Juan Antonio - 2010-02-11 09:49:05 - In reply to message 1 from Juan Antonio
I have added also some content_types and modified $name because for my don't work.
public function __construct($path, $name=null, $resume=null, $max_speed=0) { if(empty($name)) $name=basename($path); // $name=substr(strrchr("/".$path,"/"),1); if($resume===null) $resume=false; $file_extension = strtolower(substr(strrchr($path,"."),1)); // the file extension switch($file_extension) { // the file type case "mp3": $content_type="audio/mpeg"; break; case "mpg": $content_type="video/mpeg"; break; case "avi": $content_type="video/x-msvideo"; break; case "wmv": $content_type="video/x-ms-wmv";break; case "wma": $content_type="audio/x-ms-wma";break; case "pdf": $content_type="application/pdf";break; case "zip": $content_type="application/zip";break; case "doc": $content_type="application/msword";break; case "xls": $content_type="application/vnd.ms-excel";break; case "ppt": $content_type="application/vnd.ms-powerpoint";break; case "gif": $content_type="image/gif";break; case "png": $content_type="image/png";break; case "jpe": case "jpeg": case "jpg": $content_type="image/jpg";break; case "exe": $content_type="application/octetstream"; break; //($browser=='IE' || $browser=='OPERA')?($ctype="application/octetstream"):($ctype="application/octet-stream")); default: $content_type="application/force-download"; } $file_size = filesize($path); // the file size $this->properties = array( "path" => $path, "name" => $name, "extension" =>$file_extension, "type"=>$content_type, "size" => $file_size, "resume" => $resume, "max_speed" => $max_speed ); } |
info at phpclasses dot org
.