至尊技术网 - include 2020-11-27T09:59:00+08:00 Typecho https://www.zzwws.cn/feed/atom/tag/include/ <![CDATA[include 和 require区别]]> https://www.zzwws.cn/archives/4962/ 2020-11-27T09:59:00+08:00 2020-11-27T09:59:00+08:00 悠悠楠杉 http://www.zzwws.cn 1. 文件包含的作用 :
文件包含的作用在于代码的重用 .
我们可以把常用的代码段写一个文件里 ,
当需要这些代码时 , 引入这个文件就可以了 .

2. 对比 include 和 require
1) 分别用 include 和 require 引入一个存在的 php 文件

$a = 3;

2.php 的代码如下

$a +=1;*/
$a = 3;
include('./2.php');
//require('./2.php');

2) 再分别用引入一个不存在的 2-1.php 文件

$a = 3;
include('./2-1.php');
//include 被包含文件不存在时 , 代码会尽量往下执行 , 报警告错误 ,warning
require('./2-1.php');
//require 被包含文件不存在时 , 代码不会再往下执行 , 报致命错误 ,fatal error
echo $a;

什么时候用 include 和 require?
底层库等 , 很重要的文件 , 没有它不能继续执行 , 就用 require
如果是第三方的广告代码等 , 可以用 include

3. 加 _once 和不加 once 的区别
_once 作用 : 只引入 1 次 , 如果之前已引用过 , 不再重复引用 .

$a = 3;
include('./2.php');
include('./2.php');
include('./2.php');
include_once('./2.php');
include_once('./2.php');
include_once('./2.php');
//require_once('./2.php');
//require_once('./2.php');
//require_once('./2.php');
echo $a;

如果引入一些库文件 , 里面有很多函数 , 我们知道函数不能重复定义 ,
引入多次肯定会出问题
注意 : 不加 _once 速度快些 .
4. 被包含文件里可以像函数一样用 return

/*2.php 内容如下
return array('a','b','c');
*/
$arr = include('./2.php');
print_r($arr);
]]>
<![CDATA[php中遇到Warning: include(....) 如何解决]]> https://www.zzwws.cn/archives/4858/ 2020-10-31T22:18:52+08:00 2020-10-31T22:18:52+08:00 悠悠楠杉 http://www.zzwws.cn Warning: include(): open_basedir restriction in effect. File(/www/wwwroot/xxx.com/api/index.php) is not within the allowed path(s): (/www/wwwroot/xxx.com/:/tmp/) in /www/wwwroot/xxx.com/index.php on line 17 Warning: include(/www/wwwroot/xxx.com/api/index.php): failed to open stream: Operation not permitted in /www/wwwroot/xxx.com/index.php on line 17 Warning: include(): Failed opening '/www/wwwroot/xxx.com/api/index.php' for inclusion (include_path='.:/www/server/php/56/lib/php') in /www/wwwroot/xxx.com/index.php on line 17

解决方法

把宝塔里的防跨站攻击关了就可以了!

]]>