我们经常需要在一个文件里面使用另一个文件资源;要这么做就必须把资源文件引入当前文件之中;
php中使用include 或者require来引入文件:
文件引入方式
通过include:
inlude "dir/dir/xxx.php;
通过require:
require "dir/dir/xxx.php;
通过include_once:
include_once "dir/dir/xxx.php;
通过require_once:
require_once "dir/dir/xxx.php;
区别
上面可以看到有四种引入方式;但是这四种有什么区别呢?
区别1–带once的特效
include/require 和include_once/require_once
这两者区别在于前者遇见引入文件的语句就会引入目标文件;但是后者在引入文件之前会先判断一下是否已经导入过该文件了,如果是,那么将不会继续导入;
区别2–include和require的区别
2:被引入文件如果不存在,include只会报出警告waring,不会影响上下文执行;
而require则会报error,下文也将不会执行;
pa.php这个文件并不存在的
<?php
include "./pa.php";
echo "这里是可以执行的";
有图有真相:
echo "这里是可以执行的";
require "./pa.php";
同样有图有真相:
引入文件的返回值
在被引入文件没有返回任何数据的时候:
1:include和require引入文件成功将会返回1;
phpce.php
$i = require "./p.php";
$f = include "./p.php";
echo "<br/>";
echo $i;
echo "<br/>";
echo $f;
p.php
echo "there --- p.php";
可以看到结果:
很明显导入成功之后require和include会返回1;
在被引入文件使用return返回数据的时候:
如果被引入文件使用return返回了数据,此时返回值是被引入文件的返回值;
看下实例:
<?php
//在这里通过两种方式引入被引入文件;
$i = require "./p.php";
$f = include "./p.php";
echo "<br/>";
echo $i;
echo "<br/>";
echo $f;
被引入文件:
<?php
return "there --- p.php";
不多说,看图: