[Vtigercrm-commits] [vtiger-commits] r9480 - /vtigercrm/branches/4.2/modules/uploads/add2db.php

vtigercrm-commits at vtiger.fosslabs.com vtigercrm-commits at vtiger.fosslabs.com
Wed Sep 13 02:34:10 EDT 2006


Author: allanbush
Date: Wed Sep 13 00:34:08 2006
New Revision: 9480

Log:
Reduced memory used during upload by base 64 encoding the uploaded file in 1MB cunks and closing file handles when we're finished with them.  Refs #61.

Modified:
    vtigercrm/branches/4.2/modules/uploads/add2db.php

Modified: vtigercrm/branches/4.2/modules/uploads/add2db.php
==============================================================================
--- vtigercrm/branches/4.2/modules/uploads/add2db.php (original)
+++ vtigercrm/branches/4.2/modules/uploads/add2db.php Wed Sep 13 00:34:08 2006
@@ -46,8 +46,11 @@
 		$filenameBase64 = $filename.".base64";
 		$rfh = fopen($uploaddir.$filename, "r");
 		$wfh = fopen($uploaddir.$filenameBase64, "w");
-		//FIXME: find a way to stream data to base64_encode() to reduce memory usage -mikefedyk
-		fwrite($wfh,base64_encode(fread($rfh, $filesize)));
+		while(!feof($rfh)) {
+			fwrite($wfh,base64_encode(fread($rfh, 1024*1024)));
+		}
+		fclose($rfh);
+		fclose($wfh);
 		deleteFile($uploaddir,$filename);
 		
 		$query = "insert into crmentity (crmid,smcreatorid,smownerid,setype,description,createdtime,modifiedtime) values('";





More information about the vtigercrm-commits mailing list