分类: LINUX
2012-12-12 11:28:25
php include函数应该是我们最常用的方法, 语句包含并运行指定文件。但是就是因为这个我们可能忽略了他的一些其他用法,本人因为工作需要又重新看了一遍,在此做一下简要记录:
1.include与require简单区别
当include所包含的文件不存在时,他只是产生一个警告,但是脚本会继续执行。
而require引用的文件如果不存在的时候,就会提示错误,并终止脚本运行。
2.被包含文件内的变量的变量范围
当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。如果 include 出现于调用文件中的一个函数里,则被调用的文件中所包含的所有代码将表现得如同它们是在该函数内部定义的一样。不过所有在包含文件中定义的函数和类都具有全局作用域。
当一个文件被包含时,语法解析器在目标文件的开头脱离 PHP 模式并进入 HTML 模式,到文件结尾处恢复。由于此原因,目标文件中应被当作 PHP 代码执行的任何代码都必须被包括在有效的 PHP 起始和结束标记之中。
3.include()返回值
如果取得include里面的变量值,需要在include引用的文件里加上 return
例如: 文件return.php
$var='ok';
return $var;
?>
if( include('return.php')=='ok' ) { ... } if不执行里面的,因为include('return.php')值为1
if( (include 'return.php')=='ok' ) { ... } if可以执行里面的
所以如果用include进行条件比较,需要这样(include 'return.php')
4. 使用输出缓冲来将 PHP 文件包含入一个字符串
$string = get_include_contents('somefile.php');
function get_include_contents($filename) {
if
(is_file($filename)) {
ob_start();
include
$filename;
$contents
= ob_get_contents();
ob_end_clean();
return
$contents;
}
return
false;
}
?>