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 Cookie的一个使用注意点
Nov 08 PHP
PHP 批量删除数据的方法分析
Oct 30 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
php实现简单文件下载的方法
Jan 30 PHP
php无限分类使用concat如何实现
Nov 05 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
PHP内置函数生成随机数实例
Jan 18 PHP
PHP工厂模式的日常使用
Mar 20 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 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的explode和implode的使用说明
2011/07/17 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
header导出Excel应用示例
2014/01/24 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
python定时器使用示例分享
2014/02/16 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
详解重置Django migration的常见方式
2019/02/15 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
工程项目经理岗位职责
2015/02/02 职场文书
幼儿园个人总结
2015/02/28 职场文书
三八妇女节致辞
2015/07/31 职场文书
公司费用报销管理制度
2015/08/04 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python