什么时候包含一个包含文件?

时间:2012-09-24 00:47:25

标签: php

当调用脚本首次启动或达到include语句时,是否“抓取”包含文件的代码块?举个例子:

// execute many lines of code
sleep(10);
// do file retrievals that takes many minutes
include('somefile.php');

如果执行(开始)原始代码,somefile.php的代码块是否会在该瞬间放入内存,直到达到include语句为止?

3 个答案:

答案 0 :(得分:1)

执行/运行include语句时。

PHP逐行执行。因此,当流程到达include时,它将发挥其魔力。

例如:

//some code
//some more code
//even more
include('file.php');//now all of file.php's contents will sit here 
//(so the file will be included at this point)

请参阅http://php.net/manual/en/function.include.php

答案 1 :(得分:0)

到达include语句时包含该文件

执行

a.php只会

var_dump("a",time());
// execute many lines of code
sleep(10);
// do file retrievals that takes many minutes
include('b.php');

b.php

var_dump("b",time());

输出

string 'a' (length=1)
int 1348447840
string 'b' (length=1)
int 1348447850

答案 2 :(得分:-1)

您可以使用以下代码对其进行测试:

<?php

echo 'Before sleep(): ' . $test . ' | ';

sleep(10);

echo 'After sleep(): ' . $test . ' | ';

include('inc_file.php');

echo 'After include(): ' . $test;

?>

假设 inc_file.php 有以下代码:

<?php

$test = 'Started var';

?>

输出结果为:

睡觉前():|睡觉后():|在include()之后:启动var

所以我们可以说只有在调用include()之后才能使用 inc_file.php 内容。

我在PHP文档中没有找到明确的解释,但@navnav说我认为是满意的。