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 相关文章推荐
mysql limit查询优化分析
Nov 12 PHP
php中的观察者模式
Mar 24 PHP
php数组中删除元素的实现代码
Jun 22 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP实现的简单在线计算器功能示例
Aug 02 PHP
php生成微信红包数组的方法
Sep 05 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 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
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
python 排序算法总结及实例详解
2016/09/28 Python
Python 登录网站详解及实例
2017/04/11 Python
python下载图片实现方法(超简单)
2017/07/21 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
Python while循环使用else语句代码实例
2020/02/07 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
《维生素c的故事》教学反思
2014/02/18 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
成绩报告单家长评语
2014/12/30 职场文书
植物园观后感
2015/06/11 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js