所以我想说我有这个给定的目录
的public_html
的index.php
现在假设我想在page1.php中包含page2.php 我这样做:
包括“/home/page2.php”;
但它不起作用,/应该是根目录(public_html)。
或者我想从reg.php重定向到index.php
“/ index.php”不起作用。
注意:这都在托管服务器上。
答案 0 :(得分:4)
/
不是站点根目录,它是操作系统文件系统的根目录。
你可以像这样使用相对路径修饰符:../../yourincludefile.php
向上导航文件系统
或者您可以使用$_SERVER['DOCUMENT_ROOT']
来调用操作系统的完整路径。 DOCUMENT_ROOT
将为您提供更一致的结果,并允许您包含相同的文件,无论您在目录层次结构中的哪个位置工作。
例如,如果你有includes/functions.php
,你可以在任何地方使用它,在任何脚本上,它将始终包含正确的文件路径:
include_once($_SERVER[DOCUMENT_ROOT] . "/includes/functions.php");
或使用字符串中的引用:
include_once("$_SERVER[DOCUMENT_ROOT]/includes/functions.php");
答案 1 :(得分:0)
您应该能够使用相对路径,即:
我想在page1.php中包含page2.php我这样做:
include "../page2.php";
我想从reg.php重定向到index.php
"../../index.php"
或者如果你在谈论public_html中的index.php,
"../../../index.php"
答案 2 :(得分:0)
选项1 - 文件相对:
include("../path/to/file.php");
选项2 - 根相对
$root = $_SERVER['DOCUMENT_ROOT'];
include($root."/path/to/file.php");