致命错误:无法重新声明

时间:2013-06-10 22:12:26

标签: php function declare

我在我的一个网站上使用图片管理脚本/模块。在旧版本的脚本中,我在一个页面上导入多个图像库没有问题但是由于我升级到更新版本,我收到以下错误(我在服务器上遗漏了确切的路径):

Fatal error: Cannot redeclare general_setting() (previously declared in public_html/myfolder/includes.php:16) in public_html/myfolderincludes.php on line 16

我包含了2个不同的画廊,我知道我因为这个而两次调用同一个函数。致命错误的功能是:

function general_setting($arg) {
$row = mysql_fetch_array (mysql_query ('' . 'SELECT SQL_CACHE `value` FROM `settings` WHERE `setting`=\'' . $arg . '\'')) or die(mysql_error());
return $row['value'];

}

现在我的问题是......我如何改变这一点,所以它只调用一次这个函数,无论我在'gallery-overview'页面上使用了多少脚本。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将您的功能包装成

if (!function_exists('general_setting')) {
    function general_setting($arg) {
    }
}

这也是流行的PHP框架中的常见做法。