salve!
vi sottopongo questo piccolo codice, sia mai detto che riuscite a farmi capire dove sbaglio 
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>";}
}
questa pagina è quella di un action di un form per l'upload di immagini della mia applicazione chiamata iMeet (per un esame all'uni).
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:
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()");
(è possibile notare, tra l'altro, che la mia classe per la gestione delle sessioni memorizza tutto in un database)
ebbene, la variabile di sessione non viene creata, e ciò mi fa presupporre che qualcosa sia andato storto in fase di serializzazione...ma cosa?