@cablos

dunque ...
- usare un chmod per settare i permessi non serve in quanto se non li hai non li potrai cambiare ma se li hai ci puoi già scrivere
- usare il percorso "../../file.txt" è poco conveniente, hai la document root quindi $_SERVER['DOCUMENT_ROOT'] . '/file.txt'
- l'if con il controllo è meglio se lo sposti sotto l'fopen o nella stessa riga dell'fopen altrimenti riceverai altri warning dovuti alle funzioni fwrite e fclose, quindi ad esempio if (($fp = fopen($_SERVER['DOCUMENT_ROOT'] . '/file.txt', 'wb')) === false) { .......

detto tutto questo, una soluzione alternativa è quella proposta da FFMM, ovvero quella di usare le funzioni FTP per l'accesso ai file del sito con i permessi dell'utente che li ha uploadati ( www.php.net/ftp )

Questi problemi derivano dal fatto che mentre l'utente che crea i file è, ad esempio, quello che accede tramite php ... l'utente che accede ai file è quello del webserver (iis o apache)

In realtà, sia per iis che per apache ci sono le soluzioni perché iis supporta nativamente la creazione di un ambiente di esecuzione a cui associare i siti e all'ambiente di esecuzione si possono associare utente e gruppo di esecuzione mentre per apache ci sono varie soluzioni, alcune scadenti come suphp o l'uso di php come cgi e l'uso di suexec o soluzioni molto più efficenti come l'uso dell'mpm-itk

se nel pannello di controllo hai un file manager dovresti poter impostare i permessi altrimenti, dato che molti provider creano una cartella scrivile da php quando si lavora su windows, chiamata spesso public, invece di scrivere nella root del sito scrivi dentro public quindi modifichi l'fopen facendo

Codice PHP:
if (($fp fopen($_SERVER['DOCUMENT_ROOT'] . '/public/file.txt''wb')) === false)
{
  die(
'Impossibile aprire/creare il file!');
}

fwrite($fp"a"); 
fclose($fp); 
spero di essere stato d'aiuto