relative/absolute 路径问题
Issues with relative/absolute path
我已经搜索了一些方法,所以它会起作用,但是 none 似乎对所有路径都有效,所以我想知道你是否可以给我一个关于如何做到这一点的方向:
这是结构:
Home Directoy
config.php
index.php
includes/
user_login.php
applicant_track.php
ucp/
index.php
当我试图在 ucp/index.php 中包含 includes/user_login.php 时,它不让我说找不到文件,我的代码在 ucp/index。php 是:
if(!defined('root_path'))
{
define('root_path', realpath(dirname(__FILE__)));
}
include(root_path . '\config.php');
switch($_GET["a"])
{
case null: include(root_path . '\index.php'); break;
case "login": include(root_path . '\includes\user_login.php'); break;
}
这是我得到的:
Warning: include(E:\xampp\htdocs\aod_panel\ucp\config.php): failed to open stream:
我很乐意就如何解决这个问题提出建议。
这很可能是您的其他脚本之一包含没有正确路径的 config.php。使用以下代码设置包含路径
set_include_path(get_include_path() . PATH_SEPARATOR . $root_path);
同时将包含更改为 require_once 以防止多次包含。
您的根路径没有指向项目的实际根目录。您的实际根是 someLocation/yourProject.
你定义的root是someLocation/yourProject/includes/
那么您想要将文件包含在另一个文件夹中。因此它找不到它。将路径的根定义为实际项目根而不是 includes 目录。
为此,您可以在配置文件中定义根路径并从那里读取它。
使用以下路径
define('root_path', realpath(dirname(dirname(__FILE__))));
而不是你定义真实路径的代码。因为你的文件夹结构是这样的。
看到您的 index.php 在 ucp
文件夹中,但您想要 config.php 的路径。所以返回一个目录并获得 config.php 路径。
我已经搜索了一些方法,所以它会起作用,但是 none 似乎对所有路径都有效,所以我想知道你是否可以给我一个关于如何做到这一点的方向:
这是结构:
Home Directoy
config.php
index.php
includes/
user_login.php
applicant_track.php
ucp/
index.php
当我试图在 ucp/index.php 中包含 includes/user_login.php 时,它不让我说找不到文件,我的代码在 ucp/index。php 是:
if(!defined('root_path'))
{
define('root_path', realpath(dirname(__FILE__)));
}
include(root_path . '\config.php');
switch($_GET["a"])
{
case null: include(root_path . '\index.php'); break;
case "login": include(root_path . '\includes\user_login.php'); break;
}
这是我得到的:
Warning: include(E:\xampp\htdocs\aod_panel\ucp\config.php): failed to open stream:
我很乐意就如何解决这个问题提出建议。
这很可能是您的其他脚本之一包含没有正确路径的 config.php。使用以下代码设置包含路径
set_include_path(get_include_path() . PATH_SEPARATOR . $root_path);
同时将包含更改为 require_once 以防止多次包含。
您的根路径没有指向项目的实际根目录。您的实际根是 someLocation/yourProject.
你定义的root是someLocation/yourProject/includes/
那么您想要将文件包含在另一个文件夹中。因此它找不到它。将路径的根定义为实际项目根而不是 includes 目录。
为此,您可以在配置文件中定义根路径并从那里读取它。
使用以下路径
define('root_path', realpath(dirname(dirname(__FILE__))));
而不是你定义真实路径的代码。因为你的文件夹结构是这样的。
看到您的 index.php 在 ucp
文件夹中,但您想要 config.php 的路径。所以返回一个目录并获得 config.php 路径。