function_exists是用来检查指定的函数是否已经定义的函数。
function_exists定义和用法
booleanfunction_exists(stringfunction_name),本函数用来检查指定的函数是否已经定义。参数function_name为待检查的函数名称。若已定义指定的函数则返回1值,其它情形均返回0值。
语法编辑
function_exists(stringfunction_name)
参数
解释
function_name
必需。为待检查的函数名称。
例子编辑
<?php
if(function_exists('phpinfo')){
echo"phpinfo()函数已经定义.<br/>";
}else{
echo"phpinfo()函数没有定义.<br/>";
}
?>
输出结果为:
phpinfo()函数已经定义
function_exists实例
//判断gif函数是否存在
if(function_exists("imagegif"))
{
//如果存在,以gif格式输出
header("content-type:image/gif");
imagegif($im);
}
//判断jpeg函数是否存在
elseif(function_exists("imagejpeg"))
{
//如果存在,以jpg格式输出
header("content-type:image/jpeg");
imagejpeg($im,"",0.5);
}
//判断png函数是否存在
elseif(function_exists("imagepng"))
{
//如果存在,以png格式输出
header("content-type:image/png");
imagepng($im);
}
//判断wbmp函数是否存在
elseif(function_exists("imagewbmp"))
{
//如果存在,以bmp格式输出
header("content-type:image/vnd.wap.wbmp");
/*
header()函数向客户端发送原始的http报头。
认识到一点很重要,即必须在任何实际的输出被发送之前调用header()函数(在php4以及更高的版本中,您可以使用输出缓存来解决此问题):
*/
imagewbmp($im);
}
else
{
//如果都不支持,输出内容
die("noimagesupportinthisphpserver");
}
总之,在代码中使用一个方法的时候,如果可以先使用function_exists来判断该方法存在后,再进行调用,那么就可以避免程序因调用了没有定义的方法而抛出异常,导致网站无法正常使用的现象。