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 相关文章推荐
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
Jul 03 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
PHP可变函数的使用详解
Jun 14 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
Laravel ORM 数据model操作教程
Oct 21 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
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
php查询ip所在地的方法
2014/12/05 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
JavaScript 基本概念
2015/01/20 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python中的startswith和endswith函数使用实例
2014/08/25 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
python爬虫基础之urllib的使用
2020/12/31 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
财务部岗位职责
2015/02/03 职场文书
初中英语教学反思范文
2016/02/15 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers