diff --git a/file_download.php b/file_download.php index 3e7f5f93c0..9d4ae3dc25 100644 --- a/file_download.php +++ b/file_download.php @@ -155,7 +155,7 @@ } header( 'Content-Type: ' . $t_content_type ); - file_send_chunk( $t_local_disk_file ); + readfile( $t_local_disk_file ); } break; case FTP: @@ -190,39 +190,3 @@ header( 'Content-Type: ' . $t_content_type ); echo $v_content; } - exit(); - -function file_send_chunk($filename, $start = 0, $maxlength = 0 ) { - static $s_safe_mode = null; - $chunksize = 4*131072; - $buffer = ''; - $offset = $start; - - if( $s_safe_mode == null ) { - $s_safe_mode = ini_get('safe_mode'); - } - - while (true) { - if ( $s_safe_mode == false) { - @set_time_limit(60*60); //reset time limit to 60 min - should be enough for 1 MB chunk - } - $buffer = file_get_contents($filename, 0, null, $offset, ( ($maxlength > 0 && $maxlength < $chunksize) ? $maxlength : $chunksize ) ); - if ( $buffer === false ) { - if( $maxlength > 0 ) { - $buffer = file_get_contents($filename, 0, null, $offset, $maxlength ); - } else { - $buffer = file_get_contents($filename, 0, null, $offset ); - } - echo $buffer; - flush(); - exit(); // end of file - } - echo $buffer; - flush(); - $offset += $chunksize; - $maxlength -= $chunksize; - unset($buffer); - $buffer = null; - } - return; -}