- 四种方式如下所示:
- incude "要加载的文件路径";
- includeonce "要加载的文件路径";
- require "要加载的文件路径";
- requireonce "要加载的文件路径";
- 四种方式的区别
- inchude:每次都载入文件(可能会重复载入),如果载入失败,在报错后继续执行后续语句;
- include_once:只载入一次(不会重复载入),如果载入失败,在报错后继续执行后续语句;
- require:每次都载入文件(可能会重复载入),如果载入失败,在报错后终止程序;
- require_once: 只载入一次(不会重复载入),如果载入失败,在报错后终止程序;
一般来说, 如果被载入的文件内容,是后续代码运行的必备前提,则应该使用require载入。 如果被载入的文件内容,只需要(或只允许)出现一次,则应该使用 'xxxx once" 载入。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <?php $file = __DIR__ . '/lib/nav.html'; // 避免重复导入,只会生效一次 // include_once 载入失败可以继续运行下面后续代码。 include_once $file; include_once $file; // 避免重复导入,只会生效一次 // require_once 载入失败则报错后终止程序。 require_once $file; require_once $file; ?> </body> </html>
- 上面路径 “要加载的文件”,是一个文件路径,可以是相对路径,也可以是绝对(物理)路径,或直接文件名:
- 相对路径: './文件名'; './dir/文件名'; './dir/dir/文件名'; '../../dir/文件名'; ......
- 绝对(物理)路径: 'c:/itcast/class/php66/day4/文件名'; // window系统 '/path1/path2/文件名'; // inux、unix 等系统 ......
- 获取物理路径(绝对路径)的方式: __DIR__:表示当前文件所在路径,由它可以构建出绝对路径; getcwd():表示当前正访问的网页路径,由它也可以构建出绝对路径;
- 非相对非绝对路径(其实就是没有给出路径,只给出文件名) :不推荐!
- 形式为: include 文件名;
- 此时,会按如下顺序去寻找该文件: 1、先在 php .ini 中 include_path 项设定的目录中寻找该文件; 2、如果上一步没有找到,就在当前工作目录(由 getcwd() 获取)下寻找该文件; 3、如果上一步没有找到,就在当前载入语句的文件所在目录(由 __DIR__ 获取)下寻找; 4、如果上一步还是没有找到,就报错了。
```
DIR 当前路径为:', DIR; 想要载入路径为:
file=DIR.′/lib/nav.html′;echo′DIR想要载入路径为:′,file = DIR . '/lib/nav.html'; echo ' DIR 想要载入路径为:', file; include $file; // 这样也是能生效的
echo '<hr>'; echo 'getcwd() 当前路径为:', getcwd(); $file1 = getcwd() . '/lib/nav.html'; echo '<br>getcwd() 想要载入路径为:', $file1; include $file1; // 这样也是能生效的 echo '<hr>'; echo '__DIR__ 与 getcwd() 区别:'; include 'lib/page.php';
?> ```
- page.php:
__DIR__ 获取当前文件路径:'; echo '
' . __DIR__; echo '
getcwd() 获取当前浏览网页的路径,也就是你当前浏览访问的页面在的路径,而不是当前文件的路径:'; echo '
' . getcwd(); ?>