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连接SQLServer2005 的问题解决方法
Jul 19 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
解析php下载远程图片函数 可伪造来路
Jun 25 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
php获取'/'传参的值简单方法
Jul 13 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
PHP的imageTtfText()函数深入详解
Mar 03 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文件上传实例详解!!!
2007/01/02 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
PHP小技巧之函数重载
2014/06/02 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
python获取外网IP并发邮件的实现方法
2017/10/01 Python
django实现用户登陆功能详解
2017/12/11 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python语言进阶知识点总结
2019/05/28 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
Python更换pip源方法过程解析
2020/05/19 Python
python和php学习哪个更有发展
2020/06/17 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
关于python中导入文件到list的问题
2020/10/31 Python
应聘医学检验人员自荐信
2013/09/27 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
质量承诺书格式
2014/05/20 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
党员批评与自我批评
2014/10/15 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
python中subplot大小的设置步骤
2021/06/28 Python