Just a comment or thought on Jason's reply. I thought you could use '/' as the seperator and the PHP engine would figure out based on the run-time OS what the actual path format would be. Hence you can use actual path names like; E:/path1/path2/path3/somefile.php in your include and require statements. At least my code uses the '/' on these types of paths and works fine on Windows and *nix systems. IIS and Apache both. FPM --- Jason Barnett <jasbarne@xxxxxxxxxxx> wrote: > I've run into this exact problem many times. Two things: > > 1) use the PEAR constant DIRECTORY_SEPERATOR, or define it yourself > if (PHP_OS == 'Win32' || PHP_OS == 'WinNT') { > define('DIRECTORY_SEPERATOR', '\'); > } else { > define('DIRECTORY_SEPERATOR', '/'); > } > > 2) I have two ways that I solve the relative include problem. > a) include_once dirname(__FILE__) . 'path/to/relative/include.php'; > > or for class libraries > > b) function __autoload($class) { > // Use your own logic, I have mine defined to do PEAR-like loading > $file = str_replace('_', DIRECTORY_SEPERATOR, $class); > include_once($file . '.php'); > } > > > > > As that would mean the macro code would not slow the linux > > machine down at all when running the php script if it did > > not even have to evaluate to see if it did need to run the > > macro function, although I know php is a scripted language > > and not compiled like C/C++ so I don't think its possible > > Note: PHP goes through the compile step, it's just that everything is compiled > on demand. > > -- > PHP Windows Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php