PHP 检查扩展库或函数是否可用的代码

yipeiwu_com6年前PHP代码库
本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。
1. 获取所有可用的模块 - get_loaded_extensions 该函数返回所有已经加载的(可用的)模块。
用法:
复制代码 代码如下:

print_r(get_loaded_extensions());

2. 获取指定模块的可用函数 - get_extension_funcs 该函数返回指定模块所有可用的函数。传入的参数(模块名称)必须是小写
用法:
复制代码 代码如下:

print_r(get_extension_funcs("gd"));

3. 获取所有已经定义的函数 - get_defined_functions 该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。
用法:
复制代码 代码如下:

function myrow($id, $data){
return "<tr><th>$id</th><td>$data</td></tr>\n";
}
$arr = get_defined_functions();
print_r($arr);

输出:
复制代码 代码如下:

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 该函数返回指定函数是否已经定义。
用法:
复制代码 代码如下:

if (function_exists('imap_open')) {
echo "IMAP functions are available.<br />\n";
} else {
echo "IMAP functions are not available.<br />\n";
}

相关文章

PHP中error_reporting()函数的用法(修改PHP屏蔽错误)

今天学习CI框架过程中遇到个问题: A PHP Error was encountered Severity: Notice Message: Undefined variable: u...

PHP简单创建压缩图的方法

本文实例讲述了PHP简单创建压缩图的方法。分享给大家供大家参考,具体如下: <?php //创建压缩图 function _create_thumbnail($srcF...

php 实现进制相互转换

从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数。连接一起就可以了。 <?php /** *十进制转二进制、八进制、十六进制 不足位数前面补...

真正的ZIP文件操作类(php)

<? /******************** 作者未知 整理: Longbill ( www.longbill.cn ; lo...

PHP Warning: Module 'modulename' already loaded in问题解决办法

出现标题这样的错误大概是: 1、模块加载了两次,所以php -i|grep Configure,看一下配置文件和配置include的目录,对于这些文件中是否有同名的module 2、动态...