Creo que el primer error es haber usado rutas de Windows, sabiendo que la barra invertida es considerada especial, etc.
Ahora, si bien es correcto usar dirname() y __DIR__ para ubicarse en el sistema de archivos debiste usar join() y DIRECTORY_SEPARATOR para resolver las rutas, ej.
¿Se entiende?