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


Posted in PHP onApril 06, 2010

本文介绍的函数其实是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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
js和php邮箱地址验证的实现方法
Jan 09 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
php接口隔离原则实例分析
Nov 11 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 #PHP
Blitz templates 最快的PHP模板引擎
Apr 06 #PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 #PHP
phpMyadmin 用户权限中英对照
Apr 02 #PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 #PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 #PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 #PHP
You might like
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
获取URL文件名后缀
2013/10/24 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
新浪的图片新闻效果
2007/01/13 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
python如何删除列为空的行
2020/07/17 Python
用python实现一个简单的验证码
2020/12/09 Python
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
《蓝色的树叶》教学反思
2014/02/24 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
800字作文之大雪
2019/12/04 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
MySQL GRANT用户授权的实现
2021/06/18 MySQL
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS