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 相关文章推荐
global.php
Dec 09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
PHP中trait使用方法详细介绍
May 21 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 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段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
python实现在字符串中查找子字符串的方法
2015/07/11 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
Python如何发布程序的详细教程
2018/10/09 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
基于Python解密仿射密码
2019/10/21 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
tensorflow 实现数据类型转换
2020/02/17 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
shell变量的作用空间是什么
2013/08/17 面试题
关于赌博的检讨书
2014/01/08 职场文书
人力资源主管职责范本
2014/03/05 职场文书
银行授权委托书范本
2014/10/04 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
催款律师函范文
2015/05/27 职场文书
高中班主任心得体会
2016/01/07 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL