file_exists - PHP返回动态的public_html路径

时间:2013-02-04 18:31:31

标签: php linux file-exists

我试图查找服务器的public_html文件夹中是否存在文件。

第一次尝试:

if ( file_exists('./local-config.php')) {

但这仅在调用上述if语句的php文件位于同一文件夹中时才有效...不好......

第二次尝试

if ( file_exists( $_SERVER['SERVER_NAME'].'/local-config.php' ) ) {

不起作用......

第3次尝试

if ( file_exists( 'http://'. $_SERVER['SERVER_NAME'].'/local-config.php' ) ) {

也行不通......

第四次尝试

$_SERVER['DOCUMENT_ROOT'] seems to fall short of my public_html folder!

有什么想法吗?

如果我放入完整的路径,我可以得到这个...

if ( file_exists( '/home/username/public_html/local-config.php' ) ) {

然而这对我来说并不好,因为脚本可能在多个服务器上使用,所以我需要一些通用的东西。

是否可以让PHP动态返回public_html路径?

2 个答案:

答案 0 :(得分:1)

为此,我在我的应用程序中创建了一个全局变量。类似于:

define('ROOT', dirname(__FILE__));

然后我使用文件名如下:

ROOT . '/my_file.php'

答案 1 :(得分:0)

尝试做这样的事情:

$path = dirname(__FILE__);
// or just __DIR__ - it should be the same thing

将返回正在调用的文件的完整路径。 __FILE__是PHP中的“magic constant”。从帮助页面:

The full path and filename of the file. If used inside an include, the name of
the included file is returned. Since PHP 4.0.2, __FILE__ always contains an
absolute path with symlinks resolved whereas in older versions it contained
relative path under some circumstances. 

通过生成的路径,您应该能够弄清楚如何获得您想要的内容。