diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/phorkie/Tools.php | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/phorkie/Tools.php b/src/phorkie/Tools.php index fc815cc..7c9c46e 100644 --- a/src/phorkie/Tools.php +++ b/src/phorkie/Tools.php @@ -70,6 +70,31 @@ class Tools return $file; } -} + public static function detectBaseUrl() + { + if (!isset($_SERVER['REQUEST_URI']) + || !isset($_SERVER['SCRIPT_NAME']) + ) { + return '/'; + } + + $scriptName = $_SERVER['SCRIPT_NAME']; + $requestUri = $_SERVER['REQUEST_URI']; + if (substr($scriptName, -4) != '.php') { + //a phar + return $scriptName . '/'; + } + + if (substr($requestUri, -4) != '.php') { + $requestUri .= '.php'; + } + $snl = strlen($scriptName); + if (substr($requestUri, -$snl) == $scriptName) { + return substr($requestUri, 0, -$snl) . '/'; + } + + return '/'; + } +} ?> |
