Hola, probe el codigo y a mi me funciona perfecto, si esta en windows debe omitir el modo, es decir, el segundo parametro 0777...
si no, es enviar el modo en string ejemplo:
mkdir("carpeta","0755");
chown("carpeta","www-data");
mkdir("carpeta/subcarpeta","0755");
lo escribo tal cual lo tengo en mi archivo, aca funciono