PHP 中导入文件有两种语言结构:
1.注意这两个是语言结构,而不是方法,就好比echo,print,isset(),empty(),unset()等等,这些都是语言结构,而不是函数!!!!!!
2. 两者都将外部文件导入到当前上下文中,但是它们有一些区别:
1.首先按照参数给出的路径查找包含的文件,如果没有给出目录(只有文件名),则按照指定的目录查找,如果在调用脚本文件所在目录和当前工作目录中都找不到该文件,则最后查找,如果最后还是找不到文件,结构会发出警告;这个和 不同, 会发出致命错误。(在这方面和 类似,但是它们在导入已经导入的文件时会忽略,但是在导入文件时会判断引入是否会降低性能)
2. 关于导入的文件:包含文件时,其中包含的代码将继承其所在行的变量范围。从那时起,调用文件中该行可用的任何变量在被调用文件中也可用。但是,包含文件中定义的所有函数和类都具有全局范围。
例如1:
变量.php
测试.php
如果它出现在调用文件中的函数内,则被调用文件中的所有包含代码都将表现得好像它们是在该函数内定义的。因此它将尊重函数的变量范围。此规则的一个例外是魔法常量,解析器在包含发生之前会对其进行处理。
3.返回值:
处理返回值:失败时返回 FALSE 并发出警告。成功包含返回 1,除非在包含的文件中给出了返回值。在包含的文件中可以使用语句来终止文件中程序的执行并返回到调用它的脚本。也可以从包含的文件中返回值。调用的返回值可以像普通函数一样获得。然而,这在包含远程文件时不起作用,除非远程文件的输出具有有效的 PHP 开始和结束标记(像任何本地文件一样)。您可以在标记内定义所需的变量,在包含文件后变量将可用。因为它是一种特殊的语言结构,所以它的参数不需要括号。比较它的返回值时要小心。
EG2:
56789
//t2.php文件内容
这里会把变量$name添加到t2.php中“t1.php”这行代码中的变量作用域中,然后返回HTM模式时会把5678添加到缓冲区中,接下来会进入PHP模式执行代码,因为被接受,所以1之后整个文件的加载就到此结束了,回到了t2的代码执行作用域中,这也是为什么最后没有9的输出的原因。
下面是一个示例,演示了 PHP 如何将文件输入到缓冲区:
//t3.php
//t4.php
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。