#78 у тебя изначально неверный подход.
Проверка на существование папки сразу пресечет все эти слеши, и точку в имени папок не разрешай, запретишь подьем по папкам.
Вот считай тебе и защита. Приложи к этому регулярку и спи спокойно.
if(preg_match('|^[a-z0-9\-_\/]+$|i',$dir) AND is_dir($dir)){
а вот тебе по человечески родительский каталог. Два варианта.
$root_dir = strtok($dir,'/');
echo $root_dir;
preg_match('|([a-z0-9\-_]+)|i',$dir,$root_dir);
echo $root_dir[0];
пробуй