ciao a tutti e grazie mille in anticipo per ogni messaggio di aiuto che riceverò...
posto il codice "incriminato":
Codice PHP:
<?php
//reference to the log file
$mylog_file;
//path to the log directory
$path_logDirectory = $_SERVER['DOCUMENT_ROOT'] . '/' . $siteName . '/specifiche/log';
//if the log directory exists
if(file_exists($path_logDirectory) == TRUE)
{
//path to the log file
$path_logFile = $path_logDirectory . '/' . myExtractFileLogName($siteName);
//if the log file already exists
if(file_exists($path_logFile) == TRUE)
//opening the log file in append mode
$mylog_file = fopen($path_logFile,'a');
//if the log file not already exists
else
//creating and opening the log file in write mode
$mylog_file = fopen($path_logFile,'w');
//for each log message content into $_SESSION superglobal array
foreach ($_SESSION as $key => $value)
//writing into log file the content of the $_SESSION superglobal array
fwrite($mylog_file, $value);
}
//extract log file name
function myExtractFileLogName($siteName)
{
//checking the index whence cut the string
$cutIndex = strrpos($siteName,'.');
//creating the log file name
return substr($siteName, 0, $cutIndex) . '_' . substr($siteName, $cutIndex+1) . '_' . date('Y-m-d') . '.log';
}
?>
ora vi spiego il problema:
devo scrivere il contenuto dell'array superglobale $_SESSION in un file di log.
ho conmpiuto una serie di verifiche per controllare che tutte le variabili avessero il valore corretto. tutto quadra. l'array $_SESSION è visibile (il codice che vi ho postato è incluso in un altro file con una sessione aperta) e ha il contenuto previsto, le variabili con i path puntano alle directories e ai file corretti.
il problema è che, quando viene il momento di fopen (che sia per creare il file o per aprirlo in append), la funzione fa cilecca!
non viene ne creato, ne aperto il file e, di coseguenza, non viene restituito l'handle da usare in fwrite...
cosa può essere?!?
buona vita.
Alessandro