php 这个函数是干嘛用的:stream_resolve_include_path

看到项目里用这个函数引入证书:
stream_resolve_include_path($cfg['cainfo']

阅读 3.8k
2 个回答

吐槽个:遇到不会用的函数不会查手册吗? --请打开 http://php.net/manual/zh 右上角有搜索,输入你要找的函数名,然后搜索即可。

新手上路,请多包涵

这个函数能根据设置的include_path 和你请求的文件名,给出该文件真是的物理地址

下面是一段代码

<?php
set_include_path("D:\Ampps\www\\test\demo");// window 测试 设置包含这个目录
// var_dump(get_include_path());
function handler($classname)
{
    // var_dump($classname);exit;
    $file = stream_resolve_include_path($classname.".php");// 能够根据
    // require $file;
    var_dump($file);exit;
}

spl_autoload_register("handler");
new Super();// 通过spl_autoload_register 函数 注册handler函数,此时在handler函数中$classname 就是Super,而 stream_resolve_include_path($classname.".php"); 返回的 就是D:\Ampps\www\\test\Super.php [因为项目中本文件和Super.php 同属于一个文件夹]

#如果是Super.php 不和本文件处于同一文件而是在我们included 目录中
那么stream_resolve_include_path($classname.".php"); 返回的 就是 对应的包含目录中的Super.php 文件
 

说的有点啰嗦,试一下代码就知道了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题