【问题标题】:Can't include a file via PHP无法通过 PHP 包含文件
【发布时间】:2016-05-07 07:14:10
【问题描述】:

我正在上传一个名为 nav.html 的导航栏,我想使用 PHP 7 将 include 这个文件放在我所有页面的顶部。

此代码:<?php include '/home/u783318484/public_html/nav.html';?> 返回错误信息,

警告:include(/home/u783318484/public_html/nav.html):无法打开流:第 24 行的 /home/u783​​318484/public_html/apply.php 中没有此类文件或目录

警告:include(): Failed opening '/home/u783318484/public_html/nav.html' 在第 24 行的 /home/u783​​318484/public_html/apply.php 中包含 (include_path='.:/opt/php-7.0/pear')

它在我的带有 Apache 的 PC 上运行良好,但是当我将它上传到我的网站(由 Hostinger 托管)时,它会这样做。 nav.html 与其他页面位于同一文件夹中。

【问题讨论】:

  • 您确定要将nav.html 文件上传到您的站点吗?您是否使用 FTP 上传所有内容?您能否附上您的public_html 文件夹的屏幕截图?
  • 呃,我发现了问题,是“它是否已插入?”事物的类型。

标签: php html include


【解决方案1】:

检查你的路径并尝试这个

<?php include(dirname(__FILE__).'/nav.html');?>

【讨论】:

  • 我切换了代码,但看起来仍然是相同的错误消息。 Warning: include(/home/u783318484/public_html/nav.html): failed to open stream: No such file or directory in /home/u783318484/public_html/apply.php on line 24Warning: include(): Failed opening '/home/u783318484/public_html/nav.html' for inclusion (include_path='.:/opt/php-7.0/pear') in /home/u783318484/public_html/apply.php on line 24
  • 尝试授予文件777权限
  • 我是 php 新手,你会怎么做呢?
  • 您使用的是哪个操作系统?
  • 所有这些都已被列入故障排除清单:stackoverflow.com/questions/36577020/…
【解决方案2】:

使用这个:

<?php include ('./nav.html'); ?>

或者你可以使用:

<?php require ('./nav.html'); ?>

【讨论】:

    【解决方案3】:

    您不能在文件系统的根目录中包含绝对路径。这是一个非常简单的原因:当您将 php 上传到服务器时,您的服务器会知道您的路径吗?答案是否定的。

    因此,您必须将文件包含为相对路径。

    看这里:http://www.coffeecup.com/help/articles/absolute-vs-relative-pathslinks/

    回答你的问题,你必须这样做

    <?php include('nav.html');?>
    

    或者如果您希望此文件在每个路径中都有效

    <?php include(dirname(__FILE__) . "/nav.html"); ?>
    

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2015-02-11
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      相关资源
      最近更新 更多