【问题标题】:PHP file not found?找不到PHP文件?
【发布时间】:2014-05-31 20:59:27
【问题描述】:

所以我尝试使用include。这是我的index.php

<?php
include ("r.php");
?>

如您所见,它只包含r.php。这是我的r.php

<?php
echo "This is the included code";
?>

这是两个文件所在的位置

所以当我运行index.php 时,我得到了

PHP 警告:include(r.php):无法打开流:第 2 行中没有此类文件或目录 PHP 警告:include():无法打开 'r.php' 以包含 (include_path='.: ') 在 - 在第 2 行

我也试过include "r.php";,注意括号,但我仍然会得到同样的错误。 有什么想法吗?

【问题讨论】:

  • 您是通过命令行还是网页运行?如果是命令行.. 确保输入绝对路径,否则 php 将在包含文件时使用您所在的路径。
  • 如果是在网络上,你为什么要标记localhost
  • 文件截图是本地电脑还是远程网页目录?
  • 从技术上讲,本地主机不是网络吗?既然它不是命令它必须是网络? @celeriko
  • 本地计算机@larsAnders

标签: php macos localhost


【解决方案1】:

尝试使用r.php 的绝对路径,这应该可以工作

【讨论】:

  • 这是一个很好的答案,但您至少应该考虑使用像 $_SERVER['DOCUMENT_ROOT'] 这样的系统变量来输出绝对路径。如果您将项目移动到其他地方,这将有所帮助,它会自动调整到新路径。
【解决方案2】:

使用它来包含相对于当前文件的文件:

include ($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'r.php');

另外,请确保网络服务器有权查看该文件。

编辑:使用绝对路径

【讨论】:

  • 我收到此错误PHP Warning: include(//r.php): failed to open stream: No such file or directory in - on line 2 PHP Warning: include(): Failed opening '//r.php' for inclusion (include_path='.:') in - on line 2
  • 更新答案.. 网络服务器是否有权读取文件?
  • 再次更新答案.. 使用绝对路径?
  • 又一个错误。 PHP Notice: Use of undefined constant DOCUMENT_ROOT - assumed 'DOCUMENT_ROOT' in - on line 2....
  • 我的错..这是一个错字..在'DOCUMENT_ROOT'上引用
【解决方案3】:

尝试查找您当前的工作目录。然后附加源代码路径,然后附加您的文件。请记住,不同操作系统的目录分隔符不同

$ds = "\\"; // if your on a windows machine
include(getcwd().$ds.$sourceCodeDirPath.$ds."r.php");

【讨论】:

    猜你喜欢
    • 2019-09-11
    • 2017-09-05
    • 2016-06-30
    • 2015-12-15
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多