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&amp;mysql(二)
Oct 09 PHP
php&amp;java(三)
Oct 09 PHP
在PHP中使用与Perl兼容的正则表达式
Nov 26 PHP
php 静态化实现代码
Mar 20 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 PHP
php语言的7种基本的排序方法
Dec 28 PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 PHP
PHP批量删除jQuery操作
Jul 23 PHP
有关PHP 中 config.m4 的探索
Aug 26 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/12/25 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
python实现无证书加密解密实例
2014/10/27 Python
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
培训主管的岗位职责
2013/11/23 职场文书
人事主管岗位职责
2014/01/30 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
护理目标管理责任书
2014/07/25 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
高中校园广播稿
2014/10/21 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
校园运动会广播稿
2015/08/19 职场文书