PHP包含Statement

时间:2009-10-07 17:22:35

标签: php include

我想知道如何包括工作。我认为它将2个或更多文件制作成一个大文件

例如文件1包括文件2.文件1在根目录中,而文件2在根目录/ include / file2中。  所以如果文件2需要包含来自root / include目录的东西,那么不要把include(“file3.php”);我需要把include(“root / include / file3.php”); 所以服务器认为所有3个文件都是一个大文件。

我到底是怎么回事?

4 个答案:

答案 0 :(得分:2)

从PHP手册:

  

根据文件包含文件   给定文件路径,如果没有给出,   指定的include_path。该   include()构造将发出一个   如果找不到文件则发出警告;这个   是require()的不同行为,   这将发出致命的错误。

     

如果定义了路径(完整或   相对),include_path将是   完全忽略了。例如,如果是   filename以../开头,解析器   将在父目录中查找   找到所需的文件。

因此,如果您不想担心指定相对路径,请将include path设置为/ root / include。然后你可以使用

include("filename");

在任何文件中。我还建议查看函数require(),因为它无法打开文件时会抛出致命错误。

答案 1 :(得分:1)

来自the documentation

  

当包含文件时,代码就是它   包含继承变量范围   包含的行   发生。

因此,包含文件之间的交互完全取决于您将它们彼此包含在哪个范围内。可以给出完整或相对的路径,或者可以根据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”),则必须使用该完整相对路径,而不仅仅是文件名。