fopenが失敗したから原因を推測しろ。
そのphpと同ディレクトリならfopen('a.txt','a');できる。
できないのはfopen('/xx/a.txt','a');というサーバルートからの
ファイルパス指定である。
そのphpは/xx/a.phpである。つまりフォルダのパーミッションの問題ではない
ということは前者の成功例で分かってもらえるだろう。