Presumo che l'errore sia alla linea:
if (!fwrite($handle, $somecontent) == FALSE)
allora qui bisogna stare molto attenti a come funziona fwrite()

fwrite ritorna un intero che rappresenta il numero di byte scritti oppure false in caso di fallimento di scrittura.

Il problema è che in un if il ritorno di 0 viene interpretato come false e quindi potrebbe, in particolari casi, far comportare lo script diversamente d come vogliamo noi.
Per questo nello script viene usato l'operatore ===.

L'operatore non fa altro che controllare che i 2 dati messi in confronto siano uguali come valore e come tipo.

http://it2.php.net/manual/it/languag...comparison.php