A pasta que seu script PHP está tentando gravar provavelmente será de propriedade do usuário root. Seu script PHP está sendo executado sob o usuário www-data se você estiver usando uma configuração padrão do Ubuntu / Apache / PHP.
Como tal, você precisa:
chown -R www-data:www-data *dir*
chmod -R g+w *dir*
você não precisa fazer a segunda linha se ls -al
mostrar isso para você
drwxrwxr-x
Se o seu PHP está rodando sob um usuário diferente, apenas mude o usuário na primeira linha de código.
que deve resolver o seu problema.