我有一个具有子域的域。我想在子域文件夹中调用文件,但是显然我的子域文件夹在public_html目录之外。这是我尝试过的,但没有任何反应。subdomain文件夹为subdomain。
ng g c yourComponentName
答案 0 :(得分:0)
我还没有尝试过,但是应该可以。
$public_htmlUrl = $_SERVER['DOCUMENT_ROOT'];
$outsideUrl = "../".$public_htmlUrl;
$file = outsideUrl."subdomain/conn.php";
include($file);
答案 1 :(得分:0)
通常包含绝对路径而不是相对路径是最有用的。有两种典型的方法可以解决此问题。本示例将与以下目录结构一起使用,因为您没有提供您的目录结构:
+var
|+www
|+public_html
-index.php
|+subfolder
|somescript.php
|+subdomain
|conn.php
1)在您的index.php文件中,声明一个与public_html目录的绝对路径相对应的常量
define('APPLICATION_BASE', __DIR__ . DIRECTORY_SEPARATOR);
然后将其用作所有包含的前缀,并添加相对于此的路径:
include APPLICATION_BASE . '../subdomain/conn.php';
此选项对于大多数常规用途来说效果很好,使您可以快速包含相对于前控制器/索引文件而言的大多数文件
2)或者,如果您没有使用统一的索引文件,并且没有足够可靠的一致性参考点,可以始终将其包括在内,则可以采用类似的方法,并 include基于包含该文件的文件的绝对路径。这通常表明您缺乏良好的应用程序结构,但是对于快速,肮脏的应用程序或遗留代码没有确定的单点访问结构的情况,这通常是必需的。如果您必须包含来自somescript.php
的文件,而又不能可靠地从index.php
到达文件,则可能会执行以下操作:
include __DIR__ . '/../../subdomain/conn.php';
应该注意的是,这种方法虽然很紧要,但远非最佳选择,如果可能的话,您应该尝试将应用程序推向第一种方法。使用一致的入口点将在以后调试时为您节省大量的猜测,因为您将知道所有文件都是基于与单个原始目录的相关性而包含的,并且随着时间的流逝,它将使错误消息和日志记录更加整洁和可读性强,这将为您节省大量调试时间。