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 静态变量的初始化
Nov 15 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
Sep 23 PHP
thinkphp中html:list标签传递多个参数实例
Oct 30 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
PHP结合Mysql数据库实现留言板功能
Mar 04 PHP
php格式化json函数示例代码
May 12 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
CI框架实现优化文件上传及多文件上传的方法
Jan 04 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
php实现商城购物车的思路和源码分析
Jul 23 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的中问验证码
2006/11/25 PHP
php 远程关机操作的代码
2008/12/05 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
Jquery cookie操作代码
2010/03/14 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
python调用API实现智能回复机器人
2018/04/10 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
企业管理毕业生求职信范文
2014/03/07 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
质量负责人任命书
2014/06/06 职场文书
踏青活动策划方案
2014/08/19 职场文书
2016寒假假期总结
2015/10/10 职场文书
课改心得体会范文
2016/01/25 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL
Django框架中模型的用法
2022/06/10 Python