Не могу понять причину неработающей функции:
function check_ip()
{
$fil = file("ip.txt");
foreach ($fil as $val)
{
if (!@in_array(trim($val),$_SESSION['ip']))
{
$found = 1;
$_SESSION['ip'][]= trim($val);
return trim($val);
}
}
if (!$found)
{
$_SESSION['ip'] = Array();
include_once "func.php"; // переписывает файл ip.txt
return trim($arr[1]); // массив $arr формируется в файле func.php
}
}
Пока массив $fil отрабатывает - все отлично. Потом обнуляется массив $_SESSION['ip'], переписывается файл ip.txt и все останавливается. Никаких ошибок нет, по идее основной цикл должен продолжаться, который получает из этой функции ip, но все останавливается. Я грешил на продолжительность выполнения func.php (где-то минут 5), увеличил все возможные таймауты, но все равно останавливается скрипт. По идее ведь основной цикл не должен выполняться пока не получит ip от этой функции или это не так? Уже весь мозг поломал.