Salve ragazzi, ho appena iniziato lo studio del php e ora mi sono imbattuto nelle sessioni.
Nel cercare di comprenderne bene a fondo l'utilizzo, mi piacerebbe vedere la lista dei file "sess_XXX" nel session_path.
Innanzitutto volevo chiedervi se su altervista è possibile modificarlo. Poi volevo sapere come poterne ottenere i file.
attualmente per l'utilizzo delle sessioni sto usando questa classe:
Da questo codice, purtroppo, sebbene non riceva segnali di errore, l'istruzione:Codice:<?php class SessionManager implements SessionHandlerInterface{ private $savePath; public function start_session($boolean=true){ if (session_start()){ if ($boolean==true){ PhpTools::printf("[SESSION_MANAGER] - Session has been started/retrieved (".session_id().").\n"); } } } public function end_session(){ session_unset(); session_destroy(); PhpTools::printf("[SESSION_MANAGER] - Session has been closed.\n\n"); } public function getSession_ID(){ return session_id(); } public function get($something){ if(isset($_SESSION[$something])){ return $_SESSION[$something]; } else return null; } public function set($someString,$someObject){ $_SESSION[$someString]=$someObject; } public function setSession_ID($id){ session_id($id); } public function open($savePath, $sessionName) { PhpTools::printf("[SESSION_MANAGER] - SESSION_OPEN().\n"); $this->savePath = $savePath; if (!is_dir($this->savePath)) { mkdir($this->savePath, 0777); PhpToolS::printf("[SESSION_MANAGER] - File is: "."$this->savePath/sess_$id"."\n\n"); } return true; } public function close(){ PhpTools::printf("[SESSION_MANAGER] - SESSION_CLOSE().\n\n"); return true; } public function read($id){ PhpTools::printf("[SESSION_MANAGER] - SESSION_READ().\n"); PhpTools::printf("[SESSION_MANAGER] - Scanning directory: ".$this->savePath."\n"); print_r(scandir(session_save_path())); PhpToolS::printf("[SESSION_MANAGER] - File is: "."$this->savePath/sess_$id"."\n\n"); return (string)@file_get_contents("$this->savePath/sess_$id"); } public function write($id, $data){ PhpTools::printf("[SESSION_MANAGER] - SESSION_WRITE().\n"); PhpToolS::printf("[SESSION_MANAGER] - File is: "."$this->savePath/sess_$id"."\n\n"); return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true; } public function destroy($id){ $file = "$this->savePath/sess_$id"; PhpTools::printf("[SESSION_MANAGER] - SESSION_DESTROY().\n"); PhpTools::printf("[SESSION_MANAGER] - File is:".$file."\n\n"); if (file_exists($file)) { unlink($file); } return true; } public function gc($maxlifetime){ PhpTools::printf("[SESSION_MANAGER] - SESSION_GC().\n\n"); foreach (glob("$this->savePath/sess_*") as $file) { PhpTools::printf("FILE IS: ".basename($file)); if (filemtime($file) + $maxlifetime < time() && file_exists($file)) { unlink($file); } } return true; } }
print_r(scandir(session_save_path()));
non mostra nulla, e credo che print_r, che restituisce false in caso di fallimento, non riesca ad usare tale cartella...
Per cui volevo provare a modificare il path delle sessioni con uno a mia scelta per vedere chiaramente i file anche tramite ftp, giusto per testare il suo funzionamento.
Potete aiutarmi? Grazie!

LinkBack URL
About LinkBacks
