关于PHP的include

php中文网
发布: 2016-06-23 14:30:58
原创
1233人浏览过

测试环境:Windows 2003 + PHP5.3.5 +Apache 2.2.19.0

php.ini中的include_path设置如下:include_path="d:\php_5.3.5\pear;f:\php\lib;"   注意 , 没有 .  include_path中的.代表当前工作目录

 

立即学习PHP免费学习笔记(深入)”;

include第一次找到某文件后,会缓存结果。下一次include相同的路径时,只取缓存结果而不会多重查找,这就导致了我们移除某文件后可能短暂的时间内include会报错(因为include机制发现缓存结果的路径不存在,不会往下一重查找而是报错)。所以测试的时候需要include前面加clearstatcache(true);或者对文件进行改名、删除等操作以后马上重启apache,以强制每次include都多重查找。

ps:include的缓存机制具体说明:include会按顺序进行多重查找,但如果发现某一重有缓存,就会立刻跳出查找,不管那一重的缓存结果路径是否存在。 也就是说假如第一重的文件存在,我们却将其删除,则在include缓存有效期间会造成include错误。假如第一重的文件不存在,第二重的文件存在,我们建立了第一重文件,则会马上生效,不受include缓存影响

 

立即学习PHP免费学习笔记(深入)”;

1.include('2.php'); 

注意,'2.php'不是按相对路径开始查找,其多重查找顺序如下:

智谱清言 - 免费全能的AI助手
智谱清言 - 免费全能的AI助手

智谱清言 - 免费全能的AI助手

智谱清言 - 免费全能的AI助手 2
查看详情 智谱清言 - 免费全能的AI助手

 (1) 如果是绝对路径,则直接查找绝对路径是否存在

 (2)首先从php.ini中设置的include_path目录中查找文件(遍历include_path中的每个目录)

 (3)然后从调用此语句的文件所属目录(__DIR__)查找文件

 (4)最后从当前工作目录(getcwd())中查找文件


 

立即学习PHP免费学习笔记(深入)”;

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号