Platinum Partner

Fix Missing $_SERVER[SCRIPT_URL]

Many scripts rely on $_SERVER[SCRIPT_URL] which is sometimes missing. This function detects it from other server variables and fixes the missing field.


/**
 * Tries to determine Servers' SCRIPT_URL, if it doesn't exist.
 * The missing superglobal $_SERVER array element will be fixed.
 *
 * Example: client requests ... 
 * http://www.hostname.com/testpage.html?param=value&foo=bar
 *
 * ...$_SERVER['SCRIPT_URL'] is (or becomes)
 * "/testpage.html"
 *
 * @return string 
 * @author Carsten Witt 
 * @version 20100206
 */
function get_script_url() 
{
    $script_url = null;

    if (!empty($_SERVER['SCRIPT_URL']))   
        $script_url = $_SERVER['SCRIPT_URL'];

    elseif (!empty($_SERVER['REDIRECT_URL'])) 
        $script_url = $_SERVER['REDIRECT_URL'];

    elseif (!empty($_SERVER['REQUEST_URI'])) {
        $p = parse_url($_SERVER['REQUEST_URI']);
        $script_url = $p['path'];
    }
    
    else die (__FILE__." / ".__FUNCTION__.':
Couldn\'t determine $_SERVER["SCRIPT_URL"].'); $_SERVER['SCRIPT_URL'] = $script_url; return $script_url; } // get_script_url()
{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}