欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

include include_once require require_once对比

程序员文章站 2022-05-23 08:15:32
...

区别 1.include,require是语言结构,include_once,require_once是函数 2.include,include_once找不到文件时报warnning;require,require_once找不到文件时报fatal error; 相同点 1.只给出了文件名时搜索路径相同:include_path->调用文件的当前目录->当前工作目

区别
1.include,require是语言结构,include_once,require_once是函数
2.include,include_once找不到文件时报warnning;require,require_once找不到文件时报fatal error;

相同点
1.只给出了文件名时搜索路径相同:include_path->调用文件的当前目录->当前工作目录。
举个栗子: /var/www/目录下的a.php文件包含了x目录下面的b.php文件,b.php文件include|require[_once]了一个f.php文件,那么php首先在/var/www/目录下进行搜索,搜索不到在去/var/www/x/目录下进行搜索。
2.当给出文件的相对路径时都只会从最外层的文件的当前目录搜索。
例如:/var/www/目录下面的a.php文件包含了x目录下面的b.php文件,b.php文件include|require[_once]了一个./lib/f.php文件,那么php只会在/var/www目录下面的lib目录搜索f.php文件

notice
1.require_once,include_once返回值
第一次找到对应的文件true,找不到返回false;
后面无论找不找的到都返回true,因为在EG(included_files)已经包含这个文件了;
2.在使用apc的情况下,require_once和include_once可能会出现重复申明的情况。