无法重新声明之前声明的函数,只声明一次

时间:2015-07-09 03:32:07

标签: php

我遇到了另一个文件中包含此功能的问题

function sendRes($s_attachment) //this is line 3
{
   /*Snip : processing message details..*/

    try {
        mail($to, $subject, $message, $headers);
    } catch (Exception $e) {
        logMessage("An error occured:" . $e->getMessage());
    }
} //this is line 54

运行脚本时,会输出以下错误

  

致命错误:无法重新声明sendRes()(之前在声明中声明)   ********** \ email.php:3)在第54行的*********** \ email.php

但它只宣告了一次,我检查过该文件只包含一次。该文件仅包含此功能。

有关为什么不起作用的任何线索?

2 个答案:

答案 0 :(得分:4)

删除您包含的代码块,并查看以下代码返回的内容。

var_dump(function_exists('send_res'));

如果你弄错了,你要用两次该函数包含该文件,替换:

<{1>} include include_once并将require替换为require_once

另一种选择,将你的代码放在这个if语句中:

if (!function_exists('sendRes')) {
    function sendRes($s_attachment) //this is line 3
    {
        /*Snip : processing message details..*/

        try {
            mail($to, $subject, $message, $headers);
        } catch (Exception $e) {
            logMessage("An error occured Sending fingerprint:" . $e->getMessage());
        }
    } //this is line 54
}

答案 1 :(得分:2)