阴阳师 吸收结界经验:PHP检查库或函数是否可用的方法 | Not

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 12:34:12

随着版本的升高,PHP的功能也越来越完善,可用的扩展库和函数也越来越多,因此,我们写程序时也要考虑版本的兼容问题,同时还要考虑服务器(特别是虚拟主机)是否安装了扩展库。

本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。

1. 获取所有可用的模块 – get_loaded_extensions该函数返回所有已经加载的(可用的)模块。

用法:

1 print_r(get_loaded_extensions());

2. 获取指定模块的可用函数 – get_extension_funcs 该函数返回指定模块所有可用的函数。传入的参数(模块名称)必须是小写

用法:

1 print_r(get_extension_funcs("gd"));

3. 获取所有已经定义的函数 – get_defined_functions 该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。

用法:

1 function myrow($id, $data){ 2 return "   $id   $data\n"; 3 } 4 $arr = get_defined_functions(); 5 print_r($arr);

输出:

01 array ( 02     [internal] => array ( 03         [0] => zend_version, 04                 [1] => func_num_args, 05                 [2] => func_get_arg, 06                 [3] => func_get_args, 07                 [4] => strlen, 08                 [5] => strcmp, 09                 [6] => strncmp . 10          . . 11         [750] => bcscale[751] => bccomp 12     )[user] => Array ( 13         [0] => myrow 14     ) 15 )

其中 $arr["internal"] 是内置函数, $arr["user"] 是用户自定义函数。

4. 检查指定函数是否存在 – function_exists 该函数返回指定函数是否已经定义。

用法:

1 if (function_exists('imap_open')) { 2     echo "IMAP functions are available.\n"; 3 } else { 4     echo "IMAP functions are not available.\n"; 5 }