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

yipeiwu_com7年前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提取字符串中的图片地址[正则表达式]

复制代码 代码如下: <?php $str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jpg"...

php自动加载方式集合

php加载文件方式: 1、include,include_once,requice,requice_one常规加载 2、__autoload() 3、spl_autoload_regis...

PHP读取数据库并按照中文名称进行排序实现代码

有时候我们读取数据库输出的时候可能会需要按照中文用户名的方式进行排序,传统的MySQL查询代码如下: 复制代码 代码如下: $sql="SELECT * FROM users";//传统...

php递归函数中使用return的注意事项

php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧: 复制代码 代码如下: function te...

PHP编码转换函数 自动转换字符集支持数组转换

复制代码 代码如下: // 自动转换字符集 支持数组转换 function auto_charset($fContents, $from='gbk', $to='utf-8') { $f...