Чтобы получить текущий каталог запущенного скрипта, я обычно делаю:
str_replace('//', '/', str_replace('\\', '/', dirname(__FILE__) . '/'));
Это немного хакерский, но надежный AFAIK.
Но я думаю, что он не будет работать с Windows UNC-путями (если вы их используете) ...