Использование php.exe 5.2.17.17 на Windows 7, это:избежать расточительное потребление памяти
include_once('simple_html_dom.php');
function fix($setlink)
{
$setaddr = $setlink->href;
$filename="..\\".urldecode($setaddr);
$set=file_get_contents($filename);
$setstr = str_get_html($set);
// Do stuff requiring whole file
unset($set);
unset($setstr);
}
$setindexpath = "..\index.htm";
foreach(file_get_html($setindexpath)->find('a.setlink') as $setlink)
{
fix($setlink);
}
(опираясь на внешние файлы данных) терпит неудачу, таким образом:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in [snip]\simple_html_dom.php on line 620
"Функция фикс" является предложение от ответа на аналогичный вопрос здесь. unset() Желаемое за действительное :-)
Как я могу избежать непрерывного потребления памяти строк, не используемых на следующей итерации цикла? Не слишком сильно меняя код. И предоставляя весь файл как строку.
i bet DOMDocument будет более результативным .. – hanshenrik