【问题标题】:How can I use dirname(__FILE__) instead of DOCUMENT_ROOT (php web server)如何使用 dirname(__FILE__) 而不是 DOCUMENT_ROOT (php web server)
【发布时间】:2016-04-13 06:33:26
【问题描述】:

我已经为图片库编写了一些代码,如果应用程序安装在文档根文件夹中,则代码可以完美运行。然而,各种托管公司(如 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;

【问题讨论】:

    标签: php


    【解决方案1】:

    如果您检查您的代码,您会发现define(..SITE_FOLDER_DIRDIR_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__ . '/');

    【讨论】:

      猜你喜欢
      • 2012-06-21
      • 2014-02-26
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      相关资源
      最近更新 更多