From c9eaffd3363f06137fb197138d0b197679085537 Mon Sep 17 00:00:00 2001
From: Arthur Schiwon <blizzz@owncloud.com>
Date: Tue, 1 May 2012 20:32:13 +0200
Subject: [PATCH] send downloadfile piece by piece. saves RAM and is better
 suited for large files.

---
 lib/files.php | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/files.php b/lib/files.php
index a7b83149574..107605fc34e 100644
--- a/lib/files.php
+++ b/lib/files.php
@@ -119,7 +119,14 @@ class OC_Files {
 		}
 		@ob_end_clean();
 		if($zip){
-			readfile($filename);
+			$handle=fopen($filename,'r');
+			if ($handle) {
+				$chunkSize = 8*1024;// 1 MB chunks
+				while (!feof($handle)) {
+					echo fread($handle, $chunkSize);
+					flush();
+				}
+			}
 			unlink($filename);
 		}else{
 			OC_Filesystem::readfile($filename);
-- 
GitLab