Forum->Flatnux->invalid argument supplied for foreach in functions.inc.php on line 2112
  
Welcome Unknown Register Help383 Users

User Message


johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Tuesday 18 October 2011 - 02:31

invalid argument supplied for foreach in functions.inc.php on line 2112:
Ho appena ricevuto questo errore, penso che sia una cosa semplice:

Si tratta della funzione "FN_ClearOldSessions()":
/**
* clean old files
*/
function FN_ClearOldSessions()
{
global $_FN;
$sessions=glob("{$_FN['datadir']}/_sessions/*.session");
foreach ($sessions as $sessionfile)
{
if (time() - filectime($sessionfile) > 3600)
{
FN_Unlink($sessionfile);
}
}
}


E' possibile che per qualche motivo in quel momento non esisteva un file di sessione in suddetta cartella? Questo spiegherebbe l'argomento invalido per "foreach", perché se "glob" restituisce un insieme vuoto allora non è possibile creare un ciclo. Forse basta inserire un condizionale:
/**
* clean old files
*/
function FN_ClearOldSessions()
{
global $_FN;
$sessions=glob("{$_FN['datadir']}/_sessions/*.session");
if (is_array($sessions) && count($sessions)>0){
foreach ($sessions as $sessionfile)
{
if (time() - filectime($sessionfile) > 3600)
{
FN_Unlink($sessionfile);
}
}
}
}




____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)

 [1]