/./*.php 和 *.php 之间的差异

  • 本文关键字:php 之间 php include-path
  • 更新时间 :
  • 英文 :


所以我在解决的PHP代码上遇到了这个问题,但我真的不知道它是如何工作的。

我试图将其添加到每个文件中

<?php include '/nav.php'; ?>

所以我只能有一个文件来编辑导航栏,而不是整个 php 文件。

当我将该代码添加到另一个文件夹(即/general/vision.php)的文件时出现问题,并且出现错误(找不到文件)。我虽然是因为我只在网站的根目录上有"nav.php"文件。

所以,只是为了好玩,我将/general/vision.php 文件的句子改为

<?php include '../nav.php'; ?>

它奏效了。我没有从根.php更改导航,它起作用了。

我很高兴它做到了,但我不知道为什么。这是怎么回事/../工程?这是否列在 PHP 文档中?

..是"up a directory"的操作系统命名法。这不是特定于PHP的。

看看相对路径的概念......可能会有所启发。相对路径与绝对路径。

..指的是父目录。这是所有操作系统的标准。

PHP 是一种服务器端脚本语言,这意味着根目录/不是您网站的文档根目录,而是服务器上文件系统的根目录。

通过以 / 开头路径,您将指定文件的绝对路径,从根目录开始。例如,您可以使用..从当前目录构建相对路径,以提升一个级别。

您还可以使用 PHP 中的 __DIR__ 常量构建绝对路径,该常量始终包含包含当前 PHP 文件的目录的完整绝对路径,例如 include __DIR__ . '/../nav.php';

虽然您通过在包含路径中包含 ..(父目录)解决了问题,但最好像这样包含 php 文件:

 include $_SERVER['DOCUMENT_ROOT']."/nav.php";

然后,您可以将PHP文件保存在DOCUMENT_ROOT中的任何位置,并且仍然可以包含此nav.php文件。

PS:将通用包含文件保持在DOCUMENT_ROOT以上级别是一种很好的做法,这样浏览器就无法直接访问这些文件。

相关内容

  • 没有找到相关文章

最新更新