В PHP есть удобный способ получить только часть каталога HTTP URI? То есть учитывая URI с необязательным именем файла и запросом, я хочу просто каталог без имени файла или запроса;
Given Returns
/ /
/a.txt /
/?x=2 /
/a.txt?x=2 /
/foo/ /foo/
/foo/b.txt /foo/
/foo/b.txt?y=3 /foo/
/foo/bar/ /foo/bar/
/foo/bar/c.txt /foo/bar/
и т. Д.
Я не могу найти функцию PHP, чтобы сделать это. Я использую следующий фрагмент кода, но он многословен и слишком сложен для чего-то, что кажется, что это должна быть одна функция;
$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_dir = substr($uri_path, 0, 1 + strrpos($uri_path, '/'));
Есть ли более чистый путь?
Редактировать
dirname () не делает то, что я хочу.
echo dirname("/foo/bar/");
Выходы;
/foo