首页 > 代码库 > PHP检查库或函数是否可用的方法

PHP检查库或函数是否可用的方法

随着版本的升高,PHP的功能也越来越完善,可用的扩展库和函数也越来越多,因此,我们写程序时也要考虑版本的兼容问题,同时还要考虑服务器(特别是虚拟主机)是否安装了扩展库。
本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。
1. 获取所有可用的模块 - get_loaded_extensions
该函数返回所有已经加载的(可用的)模块。
用法:
PHP代码
print_r(get_loaded_extensions());  
2. 获取指定模块的可用函数 - get_extension_funcs
该函数返回指定模块所有可用的函数。传入的参数(模块名称)必须是小写
用法:
PHP代码
print_r(get_extension_funcs(‘gd‘)); 
3. 获取所有已经定义的函数 - get_defined_functions
该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。
用法:
PHP代码
function myrow($id, $data){    
    return ‘<tr><th>$id</th><td>$data</td></tr> ‘;    
}     
$arr = get_defined_functions();    
print_r($arr);  
输出:
PHP代码
Array   
(   
    [internal] => Array   
        (   
            [0] => zend_version   
            [1] => func_num_args   
            [2] => func_get_arg   
            [3] => func_get_args   
            [4] => strlen  
            [5] => strcmp  
            [6] => strncmp  
            ...   
            [750] => bcscale   
            [751] => bccomp  
        )   
  
    [user] => Array   
        (   
            [0] => myrow   
        )   
   金光大道娱乐城
)  
其中 $arr[‘internal‘] 是内置函数, $arr[‘user‘] 是用户自定义函数。
4. 检查指定函数是否存在 - function_exists
该函数返回指定函数是否已经定义。
用法:
PHP代码
if (function_exists(‘imap_open‘)) {    
    echo ‘IMAP functions are available.<br /> ‘;    
} else {    
    echo ‘IMAP functions are not available.<br /> ‘;    
}