【问题标题】:Cannot get my pc built php site to work on the web无法让我的电脑构建的 php 网站在网络上工作
【发布时间】:2015-01-11 08:40:29
【问题描述】:

我已经在我的电脑上建立了一个 php 站点。我不想有一个博客风格的网站,但想给网站添加一个单独的页眉、一个导航栏和一个页脚,并且稍后将开始构建一个登录区域。 我在我的 PC 上构建了它,当它在 IE、Chrome、Firefox 和 Safari 中显示时效果很好,所以我将所有文件复制到现有网站上的一个测试文件夹中,但这不起作用。 我收到错误消息

Fatal error: require(): Failed opening required 'includes/navbar.php'     (include_path='.:/usr/lib/php5.4') 

在 /homepages/11/d95668464/htdocs/test/Projects.php 第 54 行 并且不知道这意味着什么。

所需的 'includes/header.php 和所需的 'includes/footer.php 工作正常且在正确的位置,但导航栏根本不显示。 navbar.php 代码如下:-

<?php

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My Site's Title</title>
<link href="/Styles/Site.css" rel="stylesheet" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=1"> 
</head>
<section class="navigation" data-role="navbar">
<nav>
<ul id="menu">
<li><a href="index.php">Home</a></li>
<li><a href="news.php">News &amp; Events</a></li>
<li><a href="projects.php>Projects</a></li. 
<li><a href="contact.php">Contact Us</a></li>
<li><a href="membership.php">Join/Renew</a></li>
<li><a href="links.php">Links</a></li>
</ul>
</nav>
</section>

页面上的代码如下:-

 <?php
 include "includes/navbar.php";
 ?>

【问题讨论】:

  • 您是否也复制了includes 文件夹?始终建议使用require_once() 而不是include() 以生成错误 消息而不是警告消息
  • 参考您的无样式页面,您的 css 链接中有一个绝对路径。如果您的站点现在位于文件夹中,这将不起作用。删除第一个斜线:&lt;link href="Styles/Site.css"....
  • 感谢您对样式表链接的更正,这解决了页眉和页脚的问题,它们可以正确显示,并且导航栏应该显示的位现在在正确的位置,但没有插入

标签: php required htdocs


【解决方案1】:

如果您的文件位于包含文件夹中名为 test 的文件夹中,则您必须首先解决 使用以下函数的包含路径

get_include_path();

所以现在您可以将这个函数与之前的代码一起使用。下面是一个例子:

    <?php

      //get the include path
      $pathToIncludes = get_include_path();

     //include the file
     include "$pathToIncludes/navbar.php";

?>

这里是 PHP API http://php.net/manual/en/function.get-include-path.php 的链接 我希望这会有所帮助

【讨论】:

  • 现已排序。我错过了大写的“我”。当我应该放置“Includes/navbar.php”时,我实际上放置了“includes/navbar.php”。谢谢你让我思考而不是恐慌。
  • 没问题,很高兴能帮上忙
【解决方案2】:

尝试将所有 href 链接到正确的位置。

现在:

<li><a href="index.php">Home</a></li>

之后:(例如:桌面是您可能拥有 index.php 的任何文件夹。我只是假设。)

<li><a href="Desktop/index.php">Home</a></li>

【讨论】:

  • 谢谢您,在所有链接中添加反斜杠可以很好地使导航栏正常工作,并且最终让我意识到我输入了“包含”而不是“包含”。现在所有问题都解决了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
  • 2012-11-10
  • 2018-04-10
  • 1970-01-01
相关资源
最近更新 更多