NBK
Новичок
Помогите с проблемой обрабатываю xls файлы.
на выводах получаю
Как сделать очистку памяти до первоначального состояния в 1.25 MB ?
Для обработки одного файла памяти всегда достаточно, но если таких файлов будет много я в мемори лимит упрусь 100%
PHP:
foreach ($files as $i => $value){
$frp = $dir."/".$files[$i];
echo date('H:i:s') , ' Current memory 1: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
$objReader = PHPExcel_IOFactory::createReader("Excel5");
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($frp);
echo date('H:i:s') , ' Current memory 2: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
print_r($objPHPExcel);
echo '<br>'.date('H:i:s') , ' Current memory 3: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
# чистим память
unset($callStartTime,$objReader,$callEndTime,$callTime,$frp,$pos,$uid);
echo '<br>'.date('H:i:s') , ' Current memory 4: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
Код:
1й фаил
15:15:00 Current memory 1: 1.25 MB
15:15:03 Current memory 2: 45.25 MB
15:15:03 Current memory 3: 45.25 MB
15:15:04 Current memory 4: 43 MB
2й фаил
15:15:04 Current memory 1: 43 MB
15:15:04 Current memory 2: 46 MB
15:15:04 Current memory 3: 46 MB
15:15:04 Current memory 4: 45.5 MB
3й
15:15:04 Current memory 1: 45.5 MB
15:15:05 Current memory 2: 60 MB
15:15:05 Current memory 3: 60 MB
15:15:05 Current memory 4: 59.5 MB
4й
15:15:05 Current memory 1: 59.5 MB
15:15:09 Current memory 2: 92.5 MB
15:15:09 Current memory 3: 92.5 MB
15:15:09 Current memory 4: 90.25 MB
Для обработки одного файла памяти всегда достаточно, но если таких файлов будет много я в мемори лимит упрусь 100%