php - 是包含(file.php)和运行它一样吗?

时间:2014-10-30 17:25:59

标签: php cron include

我在cron.php文件中设置了一个cron作业。

我也有一个function()放在同一个文件中,我想在其他地方使用。

现在cron.php文件已设置为每24小时只运行一次,这意味着我不希望它运行多次。

somepage.php:

<?php
include_once("/cron.php");

echo someFunction(); //Function taken from cron.php

?>

每次加载cron.php文件后,somepage.php都会运行吗?

2 个答案:

答案 0 :(得分:0)

是的。

如果要缓存cron.php的输出,则需要创建一个额外的文件,例如。 'cron-output.txt',并让cron.php把它放在那里。 最终你也可以使用数据库。

答案 1 :(得分:0)

是的,代码将像在该文件中一样运行。未封装的PHP代码将像在include指令的位置直接插入一样运行,并且函数只会在调用时运行。

但前提条件是代码必须包装在PHP打开和关闭标记中。来自PHP docs on include()

  

当包含文件时,解析将退出PHP模式并进入HTML   模式在目标文件的开头,然后再次恢复   结束。出于这个原因,目标文件中的任何代码都应该是   作为PHP代码执行必须包含在有效的PHP start and end tags.