|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-07-22 18:06 UTC] michael at frifra dot de
<?php $path=dirname($SCRIPT_FILENAME); include($path."/inc/navi_d.inc"); ?> The code is ok and work on several servers, but on my own M$ IIS i get the return Message: Warning: Undefined variable: SCRIPT_FILENAME in C:\Inetpub\wwwroot\informatik\index.php3 on line 50 Warning: Failed opening '/inc/navi_d.inc' for inclusion (include_path='') in C:\Inetpub\wwwroot\informatik\index.php3 on line 51 What could be the reason? PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 18:00:01 2025 UTC |
I'm assuming you want to be able to call these includes, and you think you need to know the path? IMO, there is a much cleaner way that you can use regardless of your current working directory. Create a directory where all your scripts will go, for example C:\Inetpub\php\. Modify your include_path to include our new directory C:\Inetpub\php. Move your "inc/" directory to this new directory. Now your code can be <?php include("inc/navi_d.inc"); ?> no matter what directory you are in. You just need to make sure you have your path setup in the order you want it processed in, otherwise if you have an inc/navi_d.inc in your current working dir it will use that one first. Which is also good in some cases. I've honestly never used $SCRIPT_FILENAME, I've always used $PHP_SELF or one of the HTTP_SERVER_VARS. -ChrisThis is more than a year old, but I think I might add this thought, because I struggled over a similar problem and found this bug with no real result - perhaps it helps others that search for a problem like this. SCRIPT_FILENAME is an Apache Environment-Variable (at least phpinfo() lists it there. And it does not exist on IIS-systems. SCRIPT_NAME seems to be known by both systems. (There are / were other bugs with PHP-Versions that have the path to php.exe in it. Balu