2009-11-07 79 views
1

这里是的这段有人可以解释一下这个PHP代码是做还是其目的

$thisFile = str_replace('\\', '/', __FILE__); 
$docRoot = $_SERVER['DOCUMENT_ROOT']; 

$webRoot = str_replace(array($docRoot, 'library/config.php'), '', $thisFile); 
$srvRoot = str_replace('library/config.php', '', $thisFile); 

,如果我保存到test.php的这是一个文件。我感到困惑的部分是str_replace是如何使$ webRoot值出来test.php

回答

1

变量__FILE__是当前源文件或“test.php”的名称。

+1

解决了神秘......叹......人,如果你要发布答案,至少让它听起来像一个... – Seb 2009-11-07 18:35:40

2

该代码将计算绝对文件系统路径($srvRoot)和绝对URL路径($webRoot)到应用程序目录,我想可以从当前文件的相对位置library/config.php

__FILE__是一个神奇常数,它包含文件常量的绝对文件系统路径。$thisFile将包含反斜杠替换为正斜杠的文件系统路径。 $docRoot是可从Web访问的根目录的绝对文件系统路径。

因此,举例来说,如果__FILE__/var/www/htdocs/apps/foobar/library/config.php$_SERVER['DOCUMENT_ROOT']/var/www/htdocs$webRoot/apps/foobar/$srvRoot/var/www/htdocs/apps/foobar/

相关问题