How to get string before char?
Question
echo $_SERVER['REQUEST_URI']."\n";
echo strrchr($_SERVER['REQUEST_URI'], '/');
strrchr
returns the same adress as it was before, but i need all until last /.
Update:
$_SERVER['REQUEST_URI'] = /users/dev/index.php
i need /users/dev/
Solution
You can use substr()
and strrpos()
:
$url = '/users/dev/index.php';
echo substr($url, 0, strrpos($url, '/'));
OTHER TIPS
Use regex if you have different .php file names
$s = '/users/dev/index.php';
preg_match('~^(.*?)([^/]+\.php)~', $s, $m);
print_r($m);
Use substr() if you only have index.php
$m = substr($s, 0, strpos($s, 'index.php'));
print_r($m);
check this
print_r(pathinfo($_SERVER['REQUEST_URI'],PATHINFO_DIRNAME));
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow