代码片段 → PHP → PHP Include PHP Include Chris Coyier 在 2009 年 9 月 4 日 可以多次使用 <?php include("navigation.php"); ?> 仅一次 <?php include_once("navigation.php"); ?> 从根目录包含 <?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/common/header.php"; include_once($path); ?>
只是想说明一点,include、include_once 和 require 的等效项 _不是函数_,因此_不需要在路径名周围使用圆括号_。
我不确定这种不良习惯的起源。
我一直在想这个问题,因为我一直都在用圆括号看到它,但今天我在某个地方看到了一个没有圆括号的代码片段,所以我很高兴现在弄清楚了。
谢谢!
好吧,David,使用圆括号显然是一种替代方法,并且完全是可选的,它不会使它更正确或更不正确。有人可能会对 CSS 中方括号和冒号前后是否有空格有同样的争论。
我知道它是可选的,但我敢肯定新手会认为 require 和 include 是函数,因为使用了圆括号。在我看来,这确实会增加混淆。
如果您查看官方文档,您可以看到官方示例没有使用圆括号,并且它还警告您在某些情况下使用圆括号。
http://us.php.net/manual/en/function.include.php
虽然使用圆括号与否没有任何区别。但实际上,它在某些情况下可能会造成影响。再次访问 David 提供的链接,并注意示例 #5
https://php.ac.cn/manual/en/function.include.php
我还写了一篇文章,描述了 include 和 include_once、require 等之间的区别。
http://www.techmug.com/php-basics-for-beginners/
我似乎无法在我的 WAMP 安装中使用此代码片段。希望它能正常工作,以便我可以从其他目录调用我的 include。
警告:include_once(C:/wamp/www//common/header.php) [function.include-once]: 无法打开流:C:\wamp\www\yourhearing\index.php 第 4 行中不存在此类文件或目录
如果我删除
include_once($path);
行,它将适用于主 index.php,但这将无法在任何其他目录中工作。任何帮助都将不胜感激,谢谢。
目录结构
/inc
/js
/css
/img
index.php
没关系,我打错了字。
我仍然无法使用其他页面上的 css 和 js。我想键入 mydomain.com/otherpage/ 并使用 include 和 head.php 拉入我的 css 和 js,但当它包含头部时,它只显示内容而不是样式或 js。有什么想法吗?
我和 Digitalvaldosta 遇到了一样的问题。内容显示,但没有 JS 或 CSS。
嘿,我喜欢你的主题,伙计
在不使用圆括号的情况下使用 include,我的 css 并没有显示,当我添加圆括号时,一切都正常工作了!
非常有趣和令人耳目一新的文章。
我以前使用过 incude,但现在我想在响应式设计中使用它,它根本不起作用。
我的 include 行是
http://codepen.io/anon/pen/YXXZMw.html
我的 footer.php 位于同一个文件夹中
…
http://codepen.io/anon/pen/waaJOe.html
…
页面根本没有显示页脚。
:(
这听起来很傻,但动态包含仍然存在吗?