当前位置:首页 » 编程语言 » phpinclude参数

phpinclude参数

发布时间: 2023-05-29 13:54:46

1. include的php语句

include()语句包含并运行指定文件。
以下文档也适用于require()。这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而require()则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用require()。include()就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。注意在 php 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
寻找包含文件的顺序先是在当前工作目录的相对的 include_path 下寻找,然后是当前运行脚本所在目录相对的 include_path 下寻找。例如 include_path 是 .,当前工作目录是 /www/,脚本中要 include 一个 include/a.php 并且在该文件中有一句 include b.php,则寻找 b.php 的顺序先是 /www/,然后是 /www/include/。如果文件名以 ../ 开始,则只在当前工作目录相对的 include_path 下寻找。
当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。
例子 16-5. 基本的include()例子
vars.php<?php$color = 'green';$fruit = 'apple';?>test.php<?phpecho A $color $fruit; // Ainclude 'vars.php';echo A $color $fruit; // A green apple?> 如果 include 出现于调用文件中的一个函数里,则被调用的文件中所包含的所有代码将表现得如同它们是在该函数内部定义的一样。所以它将遵循该函数的变量范围。
例子 16-6. 函数中的包含
<?phpfunction foo(){ global $color; include 'vars.php'; echo A $color $fruit;}/* vars.php is in the scope of foo() so * * $fruit is NOT available outside of this * * scope. $color is because we declared it * * as global. */foo(); // A green appleecho A $color $fruit; // A green?>例子 16-7. 通过 HTTP 进行的include()
<?php/* This example assumes that is configured to parse .php * * files and not .txt files. Also, 'Works' here means that the variables * * $foo and $bar are available within the included file. */// Won't work; file.txt wasn't handled by as phpinclude '/file.txt?foo=1&bar=2';// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the// local filesystem.include 'file.php?foo=1&bar=2';// Works.include '/file.php?foo=1&bar=2';$foo = 1;$bar = 2;include 'file.txt'; // Works.include 'file.php'; // Works.?>相关信息参见使用远程文件,fopen()和file()。
因为include()和require()是特殊的语言结构,在条件语句中使用必须将其放在语句组中(花括号中)。
例子 16-8. include() 与条件语句组
<?php// This is WRONG and will not work as desired.if ($condition) include $file;else include $other;// This is CORRECT.if ($condition) { include $file;} else { include $other;}?>处理返回值:可以在被包括的文件中使用return()语句来终止该文件中程序的执行并返回调用它的脚本。同样也可以从被包含的文件中返回值。可以像普通函数一样获得 include 调用的返回值。不过这在包含远程文件时却不行,除非远程文件的输出具有合法的 php 开始和结束标记(如同任何本地文件一样)。可以在标记内定义所需的变量,该变量在文件被包含的位置之后就可用了。
因为include()是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意。
例子 16-9. 比较 include 的返回值
<?php// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')if (include('vars.php') == 'OK') { echo 'OK';}// worksif ((include 'vars.php') == 'OK') { echo 'OK';}?>注:在 php 3 中,除非是在函数中调用否则被包含的文件中不能出现 return。在此情况下return()作用于该函数而不是整个文件。
例子 16-10.include()和return()语句
return.php<?php$var = 'php';return $var;?>noreturn.php<?php$var = 'php';?>testreturns.php<?php$foo = include 'return.php';echo $foo; // prints 'php'$bar = include 'noreturn.php';echo $bar; // prints 1?>$bar 的值为 1 是因为 include 成功运行了。注意以上例子中的区别。第一个在被包含的文件中用了return()而另一个没有。如果文件不能被包含,则返回FALSE并发出一个 E_WARNING 警告。
如果在包含文件中定义有函数,这些函数可以独立于是否在return()之前还是之后在主文件中使用。如果文件被包含两次,php 5 发出致命错误因为函数已经被定义,但是 php 在return()之后不会抱怨函数已定义。推荐使用include_once()而不是检查文件是否已包含并在包含文件中有条件返回。
另一个将 php 文件“包含”到一个变量中的方法是用输出控制函数结合include()来捕获其输出,例如:
例子 16-11. 使用输出缓冲来将 php 文件包含入一个字符串
<?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;}?>要在脚本中自动包含文件,参见 php.ini 中的 auto_prepend_file 和 auto_append_file 配置选项。
注:由于这是一个语言结构而非函数,因此它无法被变量函数调用。

2. php的fopen()函数的use_include_path参数怎么理解

需要指定的目录列表,包括fopen(),file(),readfile()和file_get_contents()函数寻找文件。格式就像系统的PATH环境变量:用冒号隔开的目录列表在Unix或Windows的分号。

PHP认为包括路径中的每个条目分别包括在寻找文件。它将检陵歼查第一个路径,如果它没有找到它,检查下一个路径,直到定位包含文件或返回警告或错误。你可以在运行时修改或设置包括路径使用set_include_path()。

示例# 1 Unix包含路径
include_path=".:/php/includes
示例# 2窗口包含路径
include_path=".;c:\php\includes"
使用一个。在包括路径允许相对包括,因为这意味高瞎着戚汪空当前目录。然而,它显式地使用包括“更为有效。比在PHP /文件总是检查每个包含当前目录。

3. PHP里面include是什么意思啊

include包含文件,一般用于引用数据库连接文件和网站一些共用的文件如:
include("conn.php"); 写上这一句就在这个文件中载入了conn.php文件里面的代码了。

4. 请教php中include的参数传递 - PHP进阶讨论

PHP中include可以使用全局变量,
跟include时处在同一个访问域内的变量应该都可以访问到.
查看原帖>>

热点内容
信用卡登陆密码忘了怎么办啊 发布:2024-05-08 17:01:06 浏览:219
java设置图片 发布:2024-05-08 17:00:59 浏览:88
c语言空格删除 发布:2024-05-08 17:00:22 浏览:572
qt源代码编译 发布:2024-05-08 16:55:58 浏览:252
ubunto编译命令 发布:2024-05-08 16:55:01 浏览:57
为什么说人是被编译出来的程序 发布:2024-05-08 16:54:28 浏览:133
编译java底层框架 发布:2024-05-08 16:39:58 浏览:113
安卓手机怎么存图 发布:2024-05-08 16:22:09 浏览:423
sql分离 发布:2024-05-08 16:09:12 浏览:890
怎么把安卓手机视频播放器 发布:2024-05-08 16:08:17 浏览:566