Skip to content

Instantly share code, notes, and snippets.

@niittymaa
Forked from lavoiesl/paths.php
Created February 12, 2017 23:16
Show Gist options
  • Save niittymaa/b5bd705c1ebc1851d6970cc704ee84f2 to your computer and use it in GitHub Desktop.
Save niittymaa/b5bd705c1ebc1851d6970cc704ee84f2 to your computer and use it in GitHub Desktop.
PHP Document Root, Path and URL detection.
<?php
$base_dir = __DIR__; // Absolute path to your installation, ex: /var/www/mywebsite
$doc_root = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']); # ex: /var/www
$base_url = preg_replace("!^${doc_root}!", '', $base_dir); # ex: '' or '/mywebsite'
$protocol = empty($_SERVER['HTTPS']) ? 'http' : 'https';
$port = $_SERVER['SERVER_PORT'];
$disp_port = ($protocol == 'http' && $port == 80 || $protocol == 'https' && $port == 443) ? '' : ":$port";
$domain = $_SERVER['SERVER_NAME'];
$full_url = "${protocol}://${domain}${disp_port}${base_url}"; # Ex: 'http://example.com', 'https://example.com/mywebsite', etc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment