【问题标题】:PHP path to file not found找不到文件的PHP路径
【发布时间】:2013-08-10 19:19:03
【问题描述】:

这是我编写的脚本的一部分:

$rslt = $stmt->fetch(PDO::FETCH_ASSOC);
$include = 'mod/' . $rslt['module'] . '/main.php';
$content = include($include);

var_dump()ing $include 告诉我以下内容:

string(18) "mod/paste/main.php"

不过,PHP 输出:

include(mod//main.php): 无法打开流:...中没有这样的文件或目录

我不知道如何解决这个问题。 感谢您的帮助,

卢卡斯 ;)

【问题讨论】:

    标签: php path include


    【解决方案1】:

    尝试删除 mod 后面的 / 之一

    【讨论】:

      【解决方案2】:

      您需要仔细检查$rslt['module'] 是否可靠存在(尝试找出它不包含值的任何场景)。看起来每当你 var_dump'd 值时,该值就被设置了,否则它似乎不是。

      您可能还想打开错误报告。如果未设置该数组元素,则在尝试访问它时应该会出错。

      检查您的 php.ini 文件中的一行 display_errors

      【讨论】:

      • error_reporting 和 display_errors 什么也没告诉我。错误仍然相同。 var_dump'ing 在使用 $rslt 之前和之后像这样:var_dump($rslt); $include = 'mod/' . $rslt['module'] . '/main.php'; var_dump($rslt); 告诉我这个:array(2) { ["module"]=> string(5) "paste" ["value"]=> string(2) "36" } array(2) { ["module"]=> string(5) "paste" ["value"]=> string(2) "36" }
      【解决方案3】:

      我找到了解决方案。该脚本被调用了两次,因为 Chrome 想要显示一个 favicon.ico。由于我的 .htaccess 文件,这个请求也被转发到脚本。

      感谢您的帮助!

      【讨论】:

      • 继续,将您的答案设置为解决方案。
      猜你喜欢
      • 2017-03-14
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2022-06-13
      • 2014-06-17
      • 2012-09-03
      相关资源
      最近更新 更多