如何使用dirname(__ FILE__)代替DOCUMENT_ROOT(php web server)

时间:2016-04-12 22:05:12

标签: php

我为图片库编写了一些代码,如果应用程序安装在文档根文件夹中,代码可以正常工作。然而,各种托管公司,如C9和许多其他托管公司创建他们的不在DOCUMENT_ROOT创建他们的网站。 我试图让应用程序工作的apache服务器有一个  / user / local / websites /

的DOCUMENT_ROOT

我使用了下面的命令,该命令在index.php中运行,并为我提供了正确的路径。

// full file path to app root directory

DEFINE("DOC_ROOT", dirname(__FILE__) . '/');
echo DOC_ROOT; // /home/name/public_www/subject/index.php

如何更改以下语句以使用上述DEFINE命令的输出?

$original_file = $_SERVER['DOCUMENT_ROOT'] . SITE_FOLDER_DIR . DIR_UPLOAD_IMAGE . $main_image;

$original_file_to = $_SERVER['DOCUMENT_ROOT'] . DIR_CREATE_THUMB . $main_image;

1 个答案:

答案 0 :(得分:1)

如果您检查代码,则会为define(..SITE_FOLDER_DIR找到类似的DIR_UPLOAD_IMAGE行。他们的工作方式完全一样。

要更改您的陈述,只需将$_SERVER['DOCUMENT_ROOT']替换为DOC_ROOT,例如

$original_file = DOC_ROOT . SITE_FOLDER_DIR . DIR_UPLOAD_IMAGE . $main_image;

注意:从PHP 5.3开始,无需使用dirname(__FILE__),您只需使用__DIR__,例如。

define("DOC_ROOT", __DIR__ . '/');