php检测函数是否存在函数 function_exists
如果你要判断一些函数是不是可以用我们可以使用function_exists函数来检测,下面我们来看几个例子,希望对你会有帮助.
语法:bool function_exists(string $function_name)
检查的定义的函数的列表,同时内置(内部)和用户定义的为function_name.
返回值:返回true,如果function_name存在,是一个函数,否则返回false,实例代码如下:
- if (function_exists('imap_open')) {
- echo "imap functions are available.www.phpfensi.com<br /> ";
- } else {
- echo "imap functions are not available.<br /> ";
- }
- //function_exists returns false on null and empty string:
- if (function_exists('')) {
- echo "empty string function exists ";
- }
- if (function_exists(null)) {
- echo "null function exists ";
- }
如果您使用suhosin.executor.func.blacklist而不是在你的php.ini disabled_functions,function_exists将返回true为功能,我用这个有与suhosin.executor.func.blacklist和disabled_functions相同beahviour,实例代码如下:
- function suhosin_function_exists($func) {
- if (extension_loaded('suhosin')) {
- $suhosin = @ini_get("suhosin.executor.func.blacklist");
- if (emptyempty($suhosin) == false) {
- $suhosin = explode(',', $suhosin);
- $suhosin = array_map('trim', $suhosin);
- $suhosin = array_map('strtolower', $suhosin);
- return (function_exists($func) == true && array_search($func, $suhosin) === false);
- }
- }
- return function_exists($func);
- }