在PHP中,include()如何正常工作?

Joh*_*man 7 php

include('./code.php');工作怎么样?我理解这相当于直接在包含发生的地方"粘贴"代码,但是,例如:

如果我有两个页面,page1.php并且page2.php我需要在其中操作不同的变量和函数./code.php,是否会include()创建副本./code.php,或者它实际上是否链接回实际页面./code.php

uın*_*ɐɥs 7

请参阅手册.

如果您include是文本文件,它将在文档中显示为文本.

include没有表现得像复制粘贴:

test.php的

<?php
echo '**';
$test = 'test';
include 'test.txt';
echo '**';
?>
Run Code Online (Sandbox Code Playgroud)

的test.txt

echo $test;
Run Code Online (Sandbox Code Playgroud)

上面的例子将输出:

**echo $test;**
Run Code Online (Sandbox Code Playgroud)

如果要包含PHP文件,则仍需要PHP标记<?php?>.

此外,通常不会放置括号include,如下所示:

include 'test.php';
Run Code Online (Sandbox Code Playgroud)

  • @Paul - 不,它没有.如果它表现得像复制和粘贴,结果将是:`**test**`. (4认同)
  • 从文件返回数组是许多框架对基于文件的数组列表(如配置文件)所做的事情.它是一个非常有用的功能,即使它只在1%的时间内有用. (3认同)

Nik*_*iko 6

基本上,当解释器命中一个include 'foo.php';语句时,它会打开指定的文件,读取其所有内容,用另一个文件中的代码替换"include"位,然后继续解释:

<?php
echo "hello";

include('foo.php');

echo "world";
Run Code Online (Sandbox Code Playgroud)

成为(理论)

<?php
echo "hello";

?>
{CONTENT OF foo.php}
<?php

echo "world";
Run Code Online (Sandbox Code Playgroud)

但是,所有这些只发生在内存中,而不是发生在磁盘上.没有文件被更改或任何东西.