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 5.0对象模型深度探索之绑定
Sep 05 PHP
PHP学习之PHP表达式
Oct 09 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
php表单处理操作
Nov 16 PHP
wordpress自定义标签云与随机获取标签的方法详解
Mar 22 PHP
安装docker和docker-compose实例详解
Jul 30 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下网站防IP攻击代码,超级实用
2010/10/24 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
如何使用angularJs
2017/05/08 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
vue组件的写法汇总
2018/04/12 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
python处理圆角图片、圆形图片的例子
2014/04/25 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
Python如何读写CSV文件
2020/08/13 Python
Python urllib3软件包的使用说明
2020/11/18 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
雅虎笔试题(字符串操作)
2015/03/24 面试题
幼儿园中班开学寄语
2014/04/03 职场文书
工程部文员岗位职责
2015/02/04 职场文书
环保证明
2015/06/23 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书