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 相关文章推荐
图形数字验证代码
Oct 09 PHP
PHP生成月历代码
Jun 14 PHP
linux iconv方法的使用
Oct 01 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
PHP生成随机密码类分享
Jun 25 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
PHP生成短网址方法汇总
Jul 12 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 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验证码类、PHP验证码
2016/09/24 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
python显示天气预报
2014/03/02 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
python输出pdf文档的实例
2020/02/13 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
创立科技Java面试题
2015/11/29 面试题
高中军训感言400字
2014/02/24 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
电工实训报告总结
2014/11/05 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
党员证明模板
2015/06/19 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
浅析Python中的套接字编程
2021/06/22 Python
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
Redis命令处理过程源码解析
2022/02/12 Redis
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL