PHP检查库或函数是否可用的方法

随着版本的升高,PHP的功能也越来越完善,可用的扩展库和函数也越来越多,因此,我们写程序时也要考虑版本的兼容问题,同时还要考虑服务器(特别是虚拟主机)是否安装了扩展库。
本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。
1. 获取所有可用的模块 - get_loaded_extensions
该函数返回所有已经加载的(可用的)模块。
用法:
PHP代码
print_r(get_loaded_extensions());  
2. 获取指定模块的可用函数 - get_extension_funcs
该函数返回指定模块所有可用的函数。传入的参数(模块名称)必须是小写
用法:
PHP代码
print_r(get_extension_funcs(‘gd‘)); 
3. 获取所有已经定义的函数 - get_defined_functions
该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。
用法:
PHP代码
function myrow($id, $data){    
    return ‘<tr><th>$id</th><td>$data</td></tr> ‘;    
}     
$arr = get_defined_functions();    
print_r($arr);  
输出:
PHP代码
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
该函数返回指定函数是否已经定义。
用法:
PHP代码
if (function_exists(‘imap_open‘)) {    
    echo ‘IMAP functions are available.<br /> ‘;    
} else {    
    echo ‘IMAP functions are not available.<br /> ‘;    
}

PHP检查库或函数是否可用的方法

时间: 2024-11-02 19:38:25

PHP检查库或函数是否可用的方法的相关文章

openerp7 增加出货检查库位

1.Setting -- Configration -- Warehouse , 勾选 Manage multiple locations and warehouses 2.Warehouse-- Configration --Location, 新增库位 "检查库位" 检查库位 设置: Location Type: Internal Location Chained Location Type Fixed Location Chained Location If Fixed Phys

第三百零五节,Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性

Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRequest对象 http响应:HttpResponse对象 所在位置:django.http 之前我们用到的参数request就是HttpRequest     HttpRequest对象 逻辑处理函数的第一个形式参数,接收到的就是HttpRequest对象,这个对象里封装着用户的各种请求信息,通过

javascript中定义声明函数的四种方法

javascript中定义声明函数的四种方法 :http://blog.163.com/zzf_fly/blog/static/209589158201286104927248/ 方法一:function functionName([parameters]){functionBody}; 方法二:将一个未命名的函数function赋给一个指定变量(var):var add=function(a, b){} 方法三:使用new运算符声明函数varName=new Function([param1N

【JS】&lt;a&gt;标签调用js中函数的几种方法

我们常用的在a标签中有点击事件: a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 a href="javascript:void(0);" oncl

ASP.NET后台调用前台JS函数的三种常见方法

第一种:使用普通的添加控件中的Attributes属性进行调用 例如,像一般的普通的按钮:Button1.Attributes.Add("onclick","MyFun();"); 此方法只能在Onload中或者类似于onload的初始化过程中添加才有效.并且是先执行脚本函数,同时无法改变执行顺序. 第二种:使用Response.Write方法进行调用 例如,像我们经常会使用到的Response.Write("<scripttype='text/ja

[C/C++基础] C语言常用函数strlen的使用方法

函数声明:extern unsigned int strlen(char *s); 所属函数库:<string.h> 功能:返回s所指的字符串的长度,其中字符串必须以'\0'结尾 参数:s为字符串的初始地址 使用举例: 代码如下 编译运行结果 说明: 函数strlen比较容易理解,其功能和sizeof很容易混淆.其中sizeof指的是字符串声明后占用的内存长度,它就是一个操作符,不是函数:而strlen则是一个函数,它从第一个字节开始往后数,直到遇见了'\0',则停止. [C/C++基础] C

MS-SQLSERVER中的MSDTC不可用解决方法

今天在本地机直接在触发器里更新还有一台服务器数据时出现: MSDTC不可用  解决的方法:  在windows控制面版-->管理工具-->服务-->Distributed   Transaction   Coordinator-->属性-->启动 1.A.不用事务,关用SELECT   语句.能否够分布式查询?     B.LINKSERVER   在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)  C.DBCC   TRACEON   (3604,   730

[C/C++基础] C语言常用函数memset的使用方法

函数声明:void *memset(void *s, int ch, size_t n); 用途:为一段内存的每一个字节都赋予ch所代表的值,该值采用ASCII编码. 所属函数库:<memory.h> 或者 <string.h> 参数:(1)s,开始内存的地址:(2)ch和n,从地址s开始,在之后的n字节长度内,把每一个字节的值都赋值为n. 使用举例: 代码如下 编译运行结果 说明: 该函数最常用的用途就是将一段新分配的内存初始化为0.例如我们代码的第9-10行. 需要注意的是,函

partition函数两种实现方法

patition函数根据某种比较关系将数组分成两部分,下面根据元素比某个数字大或小,以此为基准划分,给出两种实现方式 1)若数组为a[0]~a[n-1],函数调用如下 partition(a,-1,n-1)a[n-1]一般作为基准元素所在的位置,返回基准元素应该放置的下标 int partition(int *a, int i, int j, int pivot){ do{ while (a[++i] < pivot); while ((j > 0) && (a[--j] &g