php - require_once 无法打开流 : No such file or directory - even if relative path seems to be correct(? )

标签 php file path directory warnings

好吧,我有这个 dashboard.php 文件:

<?php
require_once ('../resources/config.php');
?>

我的文件树是这样的:

/home/name/public_html/

  • admin/dashboard.php
  • 资源/config.php

我真的不知道它到底出了什么问题,我在另一个 php 脚本的完全相同的目录中使用完全相同的 include,一切运行良好。

有什么想法吗?

编辑: 我注意到在某些情况下,从服务器上同一目录调用的文件的相对路径不同,现在我知道原因了。我使用 index.php 来控制 URI 请求并拥有更好的 URL,我有一个 switch 语句,它使用 include 来调用请求的文件,所以如果它包含一个也有 include/require 语句的脚本,路径就会改变。

我现在正在努力解决这个问题,但我是非常非常新手,所以您的任何建议都将非常有帮助。

非常感谢到目前为止回答问题的所有人!

最佳答案

我通常这样使用文件的真实路径:

require_once(realpath(dirname(__FILE__)) . '/../../general_controler/database_manager.php');

此示例来 self 的 DataImporter 抽象类,使用了 DatabaseManager 抽象类。

在此示例中,我的树结构如下所示:

(主域)/PC_administration_interface/Controler/data_importer.php

(主域)/general_controler/database_manager.php

在你的情况下它会是这样的:

require_once (realpath(dirname(__FILE__)) . '/../resources/config.php');

否则,以“/”开头的路径从根开始。在 Xampp 中,htdocs 是站点的根文件夹,在我的例子中它可能是这样的(因为我的 general_controler 文件夹直接在根目录中):

require_once('/general_controler/database_manager.php')

我猜你会是这样的(假设 home 是根目录的子文件夹):

require_once('/home/name/public_html/resources/config.php');

第一个解决方案可能是最好的...无论如何,您应该尝试一下。

希望能解决你的问题

来自蒙特利尔的 Jonathan Parent-Lévesque

关于php - require_once 无法打开流 : No such file or directory - even if relative path seems to be correct(? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31733330/

相关文章:

file - 批处理文件在第一个命令后停止运行

c++ - 在头文件与源文件中包含 #includes

java - 如何使用NIO将InputStream写入文件?

c - sh : gnuplot: command not found in Xcode

python - 如何在 VIM 中设置文件的正确路径?

php - 存储到期日期的最佳方式是什么?

php - 在 Web 服务器 PHP 上验证订单的 InApp 计费

html - 有没有比重复 ../更简单的 HTML 路径方法?

php - 如果存在混合类型数组,如何为 IN 子句准备语句?

java - 识别一个字符是中文并从简体字得到中文 "pinyin"拼音?