现在的位置: 首页 > 综合 > 正文

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

2013年11月23日 ⁄ 综合 ⁄ 共 1196字 ⁄ 字号 评论关闭
文章目录
随着版本的升高,PHP的功能也越来越完善,可用的扩展库和函数也越来越多,因此,我们写程序时也要考虑版本的兼容问题,同时还要考虑服务器(特别是虚拟主机)是否安装了扩展库。

     本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。

1. 获取所有可用的模块 - get_loaded_extensions

该函数返回所有已经加载的(可用的)模块。

用法:
PHP:

  1.  
  2. <?php
  3. print_r(get_loaded_extensions());
  4. ?>
  5.  

2. 获取指定模块的可用函数 - get_extension_funcs

该函数返回指定模块所有可用的函数。

传入的参数(模块名称)必须是小写

用法:
PHP:

  1.  
  2. <?php
  3. print_r(get_extension_funcs("gd"));
  4. ?>
  5.  

3. 获取所有已经定义的函数 - get_defined_functions

该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。

用法:
PHP:

  1.  
  2. <?php
  3. function myrow($id, $data)
  4. {
  5. return "<tr><th>$id</th><td>$data</td></tr>/n";
  6. }
  7.  
  8. $arr = get_defined_functions();
  9.  
  10. print_r($arr);
  11. ?>
  12.  

输出:
Code:

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:

  1.  
  2. <?php
  3. if (function_exists('imap_open')) {
  4. echo "IMAP functions are available.<br />/n";
  5. } else {
  6. echo "IMAP functions are not available.<br />/n";
  7. }
  8. ?>
  9.  

 

抱歉!评论已关闭.