PHP fclose не освобождает память

У меня есть цикл PHP, посредством которого я читаю и обрабатываю содержимое нескольких файлов.

<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f);
}
?>

Однако после нескольких итераций цикла я все еще получаю сообщение об исчерпании памяти в строке fread () — насколько я понимаю, использование fclose () освобождает память ресурса, но разве это не так?

Я прочитал ряд других вопросов по этому вопросу, и все они ссылались на fclose (), что я уже делал. Я также выкидываю memory_get_usage () / memory_get_peak_usage (), и они просто продолжают работать, пока не произойдет ошибка.

Я неправильно понимаю, как fclose () обрабатывает освобождение памяти?

0

Решение

<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f); // this close file
unset($content); // this free memory allocated to content of file
}
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]