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 相关文章推荐
在线增减.htpasswd内的用户
Oct 09 PHP
PHP版自动生成文章摘要
Jul 23 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
写一段简单的PHP建立文件夹代码
Jan 06 PHP
php模拟post提交数据的方法
Feb 12 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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
mysql limit查询优化分析
2008/11/12 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php轻松实现文件上传功能
2016/03/03 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
javascript String 的扩展方法集合
2008/06/01 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
优秀团支部申报材料
2014/12/26 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android