【问题标题】:Using require_once for up directory not working对 up 目录使用 require_once 不起作用
【发布时间】:2012-12-20 11:45:45
【问题描述】:

我正在像这样使用 require_once

require_once('../mycode.php')

我正在开发一个 wordpress 插件。我的插件文件夹是 yves-slider,其中有一个名为 yves-slider.php 的文件和一个名为 admin 的文件夹。在 admin 文件夹中,我有一个名为 admin.php 的文件。我想在我的 admin.php 中要求文件 yves-slider.php 位于一级目录。当我尝试使用时

require_once('../yves-slider.php')

它给了我以下错误

警告:require_once(../yves-slider.php):打开流失败:否 这样的文件或目录在 C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php 在第 4 行

致命错误:require_once():需要打开失败 '../yves-slider.php' (include_path='.;C:\xampp\php\PEAR') 在 C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php 在第 4 行

我做错了吗?我正在使用 XAMPP 3.1,我想这是最好的方法。

【问题讨论】:

  • 经常遇到这个错误,要快速排除故障,请按照以下步骤操作:stackoverflow.com/a/36577021/2873507

标签: php directory require-once


【解决方案1】:

你想让它相对于文件所在的当前路径:

require_once __DIR__ . '/../yves-slider.php';

可能发生的情况是,PHP 查找的当前路径不是您认为的路径。如果你对它是什么(当前路径)感到好奇,你可以echo getcwd();。

【讨论】:

  • 我在你的例子'/../yves-slider.php'中错过了一个“/”:D非常感谢......你的回答将在6分钟内得到检查。为什么我需要一个“/”?而不是直接'../yves-slider.php'
  • 但我想知道为什么这种“相对”路径有效:require_once "directory/class.php"
  • @emfi 这些是相对于当前工作目录的,应该避免代码的灵活性。
  • 好吧,我不使用这种方法,尽管我不明白为什么应该有更多的灵活性?
  • 我在这里开始了一个针对这个频繁错误的故障排除清单:stackoverflow.com/a/36577021/2873507
猜你喜欢
  • 2013-02-19
  • 2018-05-05
  • 2018-09-28
  • 2011-07-19
  • 2014-09-26
  • 1970-01-01
  • 2012-11-26
  • 2021-07-05
  • 2012-06-04
相关资源
最近更新 更多