我正在从头开始在后台工作,这里有一些文件夹示例
管理员>包括> global_variable.php
管理员>滑块> variable.php
管理员>滑块> uploadfunction>的index.php
在index.php我有
<?php include('../variable.php'); ?>
在变量.php中我有
<?php include('../include/global_variable.php');?>
但是index.php没有读取global_variable.php
它给我以下错误
"Warning: include(../include/global_variable.php): failed to open stream: No such file or directory in [irrelevant]\Admin\sliders\variable.php on line <i>1</i>"
不,这不是正斜杠和反斜杠的问题,因为它正在处理不同的架构(我正在链接../variable.php和../../include/global_variable.php在我的index.php)
逻辑上这应该有效,但事实并非如此。 我的假设是它从index.php的目录中读取“../include/global_variable.php”(它应该从variable.php读取)
在保持相同文件结构的同时,是否有任何解决方法?
谢谢
答案 0 :(得分:1)
您有相对路径问题。
当包含PHP文件时,使用的路径是相对于正在执行的脚本(而不是包含的脚本)。
因此,在您的情况下,您将包含来自Admin / slider / uploadfunction的文件,因此这是您的“基本路径”。然后:
../variable.php
被查找到滑块目录。../include/global_variable.php
被查找到滑块目录。正如在评论中发布的那样,尝试在变量.php include中使用常量__DIR__:
<?php include(__DIR__.'/../include/global_variable.php');?>
有关PHP常量的更多信息:http://php.net/manual/en/language.constants.predefined.php
有关相对路径问题的更多信息:http://yagudaev.com/posts/resolving-php-relative-path-problem/