<?php $host = $_SERVER['HTTP_HOST']; $uri = rtrim($_SERVER['PHP_SELF'], "/\\"); $GLOBALS['SITE_ROOT'] = "http://$host$uri"; while ($i < somenumber) readfile($GLOBALS['SITE_ROOT'] = $GLOBALS['SITE_ROOT'] . '/this/file.php'); $i++ } ?> While it is an entertaining and unusual method of creating very long URLs and breaking servers, it's a pretty awesomely bad idea (Especially considering that the script in question ran concurrently with others of it's type, so the value in $GLOBALS['SITE_ROOT'] was unknown.) nathan 23-Feb-2006 12:05 Also on using IPs to look up country & city, note that what you get might not be entirely accurate. If their ISP is based in a different city or province/state, the IPs may be owned by the head office, and used across several areas. You also have rarer situations where they might be SSHed into another server, on the road, at work, at a friend's... It's a nice idea, but as the example code shows, it should only be used to set defaults. geza at turigeza dot com 11-Feb-2006 09:13 Above the manual says '$_REQUEST is an associative array consisting of the contents of $_GET, $_POST, and $_COOKIE.' However $_REQUEST doesn't always contain the same elements as $_GET+$_POST+$_REQUEST; Basically if you add an element to the $_POST array that element does not automatically get added to REQUEST as well. It's easy to understand why :) <?php $_POST['geza'] = 'geza'; $_GET['bela'] = 'bela'; echo '<pre>'; print_r($_POST); print_r($_GET); print_r($_REQUEST); echo '</pre>'; ?> will output this Array ( [geza] => geza ) Array ( [bela] => bela ) Array ( ) marsh at NOSPAM-TAKETHATSPAMMER dot uri 20-Jan-2006 12:05 The solution advanced by info at meshkaat dot com does not work correctly on machines with IIS configured to use a virtual directory as the launch point. The address strings for $_SERVER['SCRIPT_FILENAME'] and $_SERVER['PHP_SELF'] will not necessarily have the same name for the highest level directory in $_SERVER['PHP_SELF'], and therefore this solution will not return the proper value. marsh at NOSPAM-TAKETHATSPAMMER dot uri dot edu 12-Jan-2006 11:57 Under Windows XP SP2 and IIS, $_SERVER('x') returns a path using forward slash '/' as the separator, where x is: PHP_SELF, SCRIPT_NAME These arguments, however, all return a path using backward slash, '\' as the separator: |