salve!
vi sottopongo questo piccolo codice, sia mai detto che riuscite a farmi capire dove sbaglio
questa pagina è quella di un action di un form per l'upload di immagini della mia applicazione chiamata iMeet (per un esame all'uni).codice:if(isset($_FILES['user-file'])){ require("startup.php"); try { $foto = new iMeetPhoto(file_get_contents($_FILES['user-file']['tmp_name']), "", $_FILES['user-file']['type']); $session->setValue("foto", $foto, true); echo "<script type=\"text/javascript\">$ = parent.$; $('#messaggi', parent.document).text('File caricato');</script>"; } catch(iMeetWarningException $err){echo "<script type=\"text/javascript\">$ = parent.$; $('#messaggi', parent.document).text('" . $err->getMessage() . "');</script>";} }
in pratica questo codice cosa dovrebbe fare: una volta caricato il file crea un oggetto iMeetPhoto, che contiene un po' di metadati, oltre al file stesso e ad una miniatura.
dopodicchè dovrebbe prendere questo oggettone e inserirlo in una variabile di sessione "foto" associata alla sessione corrente (individuata dall'oggetto $session). Il terzo parametro "true" indica che l'oggetto deve essere serializzato. Infatti il codice del metodo setValue è qualcosa del tipo:
(è possibile notare, tra l'altro, che la mia classe per la gestione delle sessioni memorizza tutto in un database)codice:public function setValue($var_name, $var_value, $serialize = false){ if($serialize) $var_value = serialize($var_value); $db->query("INSERT INTO " . $this->_table_sessionvars . " SET session_id = '" . $this->_sessionID . "', variable_name = '" . $var_name . "', variable_value = '" . $var_value . "', serialized = " . $serialize . ", last_impression = NOW()");
ebbene, la variabile di sessione non viene creata, e ciò mi fa presupporre che qualcosa sia andato storto in fase di serializzazione...ma cosa?




Rispondi quotando