我想知道如何包括工作。我认为它将2个或更多文件制作成一个大文件
例如文件1包括文件2.文件1在根目录中,而文件2在根目录/ include / file2中。 所以如果文件2需要包含来自root / include目录的东西,那么不要把include(“file3.php”);我需要把include(“root / include / file3.php”); 所以服务器认为所有3个文件都是一个大文件。
我到底是怎么回事?
答案 0 :(得分:2)
从PHP手册:
根据文件包含文件 给定文件路径,如果没有给出, 指定的include_path。该 include()构造将发出一个 如果找不到文件则发出警告;这个 是require()的不同行为, 这将发出致命的错误。
如果定义了路径(完整或 相对),include_path将是 完全忽略了。例如,如果是 filename以../开头,解析器 将在父目录中查找 找到所需的文件。
因此,如果您不想担心指定相对路径,请将include path设置为/ root / include。然后你可以使用
include("filename");
在任何文件中。我还建议查看函数require(),因为它无法打开文件时会抛出致命错误。
答案 1 :(得分:1)
当包含文件时,代码就是它 包含继承变量范围 包含的行 发生。
因此,包含文件之间的交互完全取决于您将它们彼此包含在哪个范围内。可以给出完整或相对的路径,或者可以根据include_path来省略路径。
答案 2 :(得分:0)
include获取文件的内容并将其放在您插入include语句的位置。
重要的是要注意包含的文件以前是由PHP解释器解析的, 所以你可以做一些事情,比如
if(!@include()){echo'用户编辑的文件有语法错误,默认恢复。'}}
答案 3 :(得分:0)
include
做的是将一个文件粘贴到另一个文件中。
说你有a.php
:
Hello,
b.php
:
world!
然后c.php
:
<?php include "a.php"; include "b.php"; ?>
将成为:
Hello, world!
由PHP解析时。 PHP做了一些神奇的事情,但这是基本的效果。
如果您需要使用其他目录中的文件(例如“hello / world.php”),则必须使用该完整相对路径,而不仅仅是文件名。