// empty address provided if (empty($addr)) { return $base; } // parse address; if scheme found, doesn't need to be resolved $parsed = parse_url($addr); if(array_key_exists('scheme', $parsed)) { return $addr; } // parse base passed in (will always be a full url) $parsed = parse_url($base); // protocol specific if (mb_substr($addr, 0, 2) === '//') { return ($parsed['scheme']) . '://' . mb_substr($addr, 2); } // otherwise if the address should go to the top of the tree elseif ($addr{0} === '/') { return ($parsed['scheme']) . '://' . ($parsed['host']) . ($addr); } // if the address doesn't contain any sub-directory calls if (!strstr($addr, '../')) { return ($base) . ($addr); } // set-up sub-directory pieces for traversing/replacing $pieces['addr'] = explode('../', $addr); $pieces['base'] = explode('/', $parsed['path']); array_pop($pieces['base']); $count = count($pieces['addr']) - 1; // array of respective sub-directory replacements (from base) $replacements = array_slice($pieces['base'], 0, 0 - $count); $replacements = array_filter($replacements); // add last non-empty sub-directory as tail
Key | Value |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
CONTENT_LENGTH | 0 |
HTTP_CONNECTION | close |
SCRIPT_NAME | /getSource/jsonp.php |
REQUEST_URI | /getSource/jsonp.php |
QUERY_STRING | |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/2.0 |
GATEWAY_INTERFACE | CGI/1.1 |
REMOTE_PORT | 60250 |
SCRIPT_FILENAME | /home/ilightbox/ilightbox.net/getSource/jsonp.php |
SERVER_ADMIN | webmaster@ilightbox.net |
CONTEXT_DOCUMENT_ROOT | /home/ilightbox/ilightbox.net |
CONTEXT_PREFIX | |
REQUEST_SCHEME | https |
DOCUMENT_ROOT | /home/ilightbox/ilightbox.net |
REMOTE_ADDR | 3.236.19.251 |
SERVER_PORT | 443 |
SERVER_ADDR | 205.196.217.148 |
SERVER_NAME | ilightbox.net |
SERVER_SOFTWARE | Apache |
SERVER_SIGNATURE | |
HTTP_HOST | ilightbox.net |
HTTP_USER_AGENT | claudebot |
HTTP_ACCEPT | */* |
SSL_TLS_SNI | ilightbox.net |
HTTPS | on |
H2_STREAM_TAG | 10010-3 |
H2_STREAM_ID | 3 |
H2_PUSHED_ON | |
H2_PUSHED | |
H2_PUSH | off |
H2PUSH | off |
HTTP2 | on |
DH_USER | ilightbox |
ds_id_33365573 | |
dsid | 33365573 |
SCRIPT_URI | https://ilightbox.net/getSource/jsonp.php |
SCRIPT_URL | /getSource/jsonp.php |
QS_ConnectionId | 171165054209731763363702 |
UNIQUE_ID | ZgW27pbYwLArF39QgwHriwAAAAM |
FCGI_ROLE | RESPONDER |
PHP_SELF | /getSource/jsonp.php |
REQUEST_TIME_FLOAT | 1711650542.1007 |
REQUEST_TIME | 1711650542 |
Key | Value |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
CONTENT_LENGTH | 0 |
HTTP_CONNECTION | close |
SCRIPT_NAME | /getSource/jsonp.php |
REQUEST_URI | /getSource/jsonp.php |
QUERY_STRING | |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/2.0 |
GATEWAY_INTERFACE | CGI/1.1 |
REMOTE_PORT | 60250 |
SCRIPT_FILENAME | /home/ilightbox/ilightbox.net/getSource/jsonp.php |
SERVER_ADMIN | webmaster@ilightbox.net |
CONTEXT_DOCUMENT_ROOT | /home/ilightbox/ilightbox.net |
CONTEXT_PREFIX | |
REQUEST_SCHEME | https |
DOCUMENT_ROOT | /home/ilightbox/ilightbox.net |
REMOTE_ADDR | 3.236.19.251 |
SERVER_PORT | 443 |
SERVER_ADDR | 205.196.217.148 |
SERVER_NAME | ilightbox.net |
SERVER_SOFTWARE | Apache |
SERVER_SIGNATURE | |
HTTP_HOST | ilightbox.net |
HTTP_USER_AGENT | claudebot |
HTTP_ACCEPT | */* |
SSL_TLS_SNI | ilightbox.net |
HTTPS | on |
H2_STREAM_TAG | 10010-3 |
H2_STREAM_ID | 3 |
H2_PUSHED_ON | |
H2_PUSHED | |
H2_PUSH | off |
H2PUSH | off |
HTTP2 | on |
DH_USER | ilightbox |
ds_id_33365573 | |
dsid | 33365573 |
SCRIPT_URI | https://ilightbox.net/getSource/jsonp.php |
SCRIPT_URL | /getSource/jsonp.php |
QS_ConnectionId | 171165054209731763363702 |
UNIQUE_ID | ZgW27pbYwLArF39QgwHriwAAAAM |
FCGI_ROLE | RESPONDER |