c139 Posted January 8, 2008 Share Posted January 8, 2008 Hello , I am trying to enable my php script to work for download accelerator.Facing following problems 1:When i download a file by using Download Accelerator ,I am receiving corrupted file only. 2.Same code is working in the case of Gwget 0.96, The following code i got when i searched, but i find that too not working. <?php $file="./notes.zip"; dl_file_resume($file); function dl_file_resume($file){ //First, see if the file exists if (!is_file($file)) { die("<b>404 File not found!</b>"); } //Gather relevent info about file $len = filesize($file); $filename = basename($file); $file_extension = strtolower(substr(strrchr($filename,"."),1)); //This will set the Content-Type to the appropriate setting for the file switch( $file_extension ) { case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "mp3": $ctype="audio/mpeg"; break; case "mpg":$ctype="video/mpeg"; break; case "avi": $ctype="video/x-msvideo"; break; default: $ctype="application/force-download"; } //Begin writing headers header("Cache-Control:"); header("Cache-Control: public"); //Use the switch-generated Content-Type header("Content-Type: $ctype"); if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) { # workaround for IE filename bug with multiple periods / multiple dots in filename # that adds square brackets to filename - eg. setup.abc.exe becomes setup[1].abc.exe $iefilename = preg_replace('/\./', '%2e', $filename, substr_count($filename, '.') - 1); header("Content-Disposition: attachment; filename=\"$iefilename\""); } else { header("Content-Disposition: attachment; filename=\"$filename\""); } header("Accept-Ranges: bytes"); $size=filesize($file); //check if http_range is sent by browser (or download manager) if(isset($_SERVER['HTTP_RANGE'])) { list($a, $range)=explode("=",$_SERVER['HTTP_RANGE']); //if yes, download missing part str_replace($range, "-", $range); $size2=$size-1; $new_length=$size2-$range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); } else { $size2=$size-1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: ".$size); } //open the file $fp=fopen("$file","rb"); //seek to start of missing part fseek($fp,$range); //start buffered download while(!feof($fp)){ //reset time limit for big files set_time_limit(0); print(fread($fp,1024*); flush(); ob_flush(); } fclose($fp); exit; } ?> According to my assumption i am having problem in fseek($fp,$range); Could you please help me, How can i enable my php script to work for download accelerator Thanks Quote Link to comment https://forums.phpfreaks.com/topic/84978-resume-downloading-php/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.