Есть путь
Надо получить иерархический массив
array( 'a' => '/a',
'b' => '/a/b',
'c' => '/a/b/c',
'd' => '/a/b/c/d')
array( 'a' => 'C:\a',
'b' => 'C:\a\b',
'c' => 'C:\a\b\c',
'd' => 'C:\a\b\c\d')
Казалось бы, ничего сложного, но вот вопрос: как определить корень платформонезависимо? Что даст basename('C:\') ? Какие еще могут быть варианты? dirname($path) == '.' ? Или какая-нибудь хитрость что «/..» возвращает в то же место? У меня нет венды под рукой чтобы проверить.
UPDATE: остановился на варианте
$curdir == dirname($curdir)
Буду рад если кто расскажет как такая штука ведет себя в разных осях.