У вас в программе всё описано.
При отсутствии прав доступа вернуть пустой контент.
При отсутствии файла - вернуть пустой контент
При нулевой длине - вернуть пустой контент
При невозможности дописывать - вернуть пустой контент
Либо файл лежит не там, где вы предполагаете, либо файл не может читать и записывать пользователь www-data, либо всё остальное.
начните с отладки - хотя бы в лог запишите какое из условий сработало, чтобы понять в чём проблема.
ЗЫ. Если чей-либо ответ Вам помог, отметьте его. Помогающим это стимул и дальше помогать.