当前位置: 首页 > 面试题库 >

PHP包含相对路径

归俊捷
2023-03-14
问题内容

我有/root/update/test.php文件。还有一个文件/root/connect.php; 该文件有一行

include "../config.php";

在/root/update/test.php中。有代码

set_include_path(".:/root");
include "connect.php";

当我运行/root/update/test.php时,它找到connect.php,但是找不到config.php,这给了我

PHP Warning:  include(../config.php): failed to open stream: No such file or directory in /root/connect.php on line 2
PHP Warning:  include(): Failed opening '../config.php' for inclusion (include_path='.:/root')

这让我感到困惑,因为这些警告使我似乎似乎在正确地进行所有操作-包含路径为/
root,并且它正在寻找存在的文件../config.php(/config.php)。有人可以帮我清理一下吗?请注意,由于要部署到我无权访问的生产服务器,因此对我来说,使用绝对路径不是一个选择。

Ubuntu /阿帕奇


问题答案:

您可以始终使用__DIR__以下命令将其包括在内:

include(dirname(__DIR__).'/config.php');

__DIR__是一个“
魔法常数”,并返回当前文件的目录,且不带斜杠。它实际上是绝对路径,您只需要将文件名连接到即可__DIR__。在这种情况下,由于我们需要提升目录,因此我们使用PHP来提升dirname文件树,从这里我们可以访问config.php

您也可以在此方法中设置根路径:

define('ROOT_PATH', dirname(__DIR__) . '/');

在test.php中,将您的根目录设置为该/root/级别。

include(ROOT_PATH.'config.php');

然后应该可以在需要的位置包含配置文件。



 类似资料:
  • 问题内容: 我在理解有关PHP相对包含路径的规则集时遇到了麻烦。如果我运行文件A.PHP-,文件A.PHP包含文件B.PHP,其中文件C.PHP,则C.PHP的相对路径应该与B.PHP的位置有关,还是与A的位置有关.PHP?也就是说,从哪个 文件 调用include或仅从当前工作目录是什么以及确定当前工作目录的文件有关系吗? 问题答案: 它相对于主脚本,在本例中是A.php。请记住,只是将代码插入

  • 我目前正在制作一个与phpBB论坛融合的网站。根据phpBB3会话集成的官方解决方案,我使用了以下代码来包含phpBB安装中的相关文件: 我的论坛文件夹是(根路径)/forums/但是,如果我尝试包含另一个文件夹中的代码,它会抛出以下错误: [phpBB Debug] PHP警告:在文件/home/unrealsp/public _ html/includes/phpBB . PHP第5行:inc

  • 我正在设置并配置哪些字体可用于Apache FOP,并希望使用相对路径而不是绝对路径: 有没有可能将渲染器中字体目录设置为使用相对路径? 或者可以以编程方式设置它,在这种情况下,我可以利用 获取完整路径?

  • 我已经尝试了我在这里读到的所有解决方案,但似乎无法让它工作。 我正在尝试调用此文件中的scandir:https://www.example.com/cms/uploader/index.php 列出此文件夹中的所有文件和目录:https://www.example.com/uploads/ 我不想硬编码这个例子。com部分,因为这将根据站点的不同而有所不同。我尝试了多种组合:dirname(文件

  • 问题内容: 我的目录结构如下: script.php inc / include1.php inc / include2.php 对象/ object1.php 对象/ object2.php soap / soap.php 现在,我在和中都使用了这些对象,可以移动它们,但是出于特定的原因,我想要这样的目录结构。当执行包含路径is 和执行它时,绝对路径有效,但是如果我想将目录移动到其他位置,则这是

  • 主要内容:PHP include 和 require 语句,语法,PHP include 和 require 语句PHP include 和 require 语句 在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。 include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。 include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的: require 生成一个致命错误(E_COMPILE_ERROR),在错误发