你如何回应php内部的全局定义变量?

时间:2014-06-09 13:34:11

标签: php

此全局定义用作电子邮件脚本的一部分。全局文件中的define是这样的:

define ('BCC_EMAIL', "email@email.com");

然后在您设置标题(to,from,cc和bcc)的其他文件的电子邮件部分中,我不想使用全局变量作为密件抄送行。所以首先我只想要在定义全局变量时使用该行,然后在标题行内部我希望回显引号内的变量。我怎么做?这是我认为的,但这看起来不对:

if (BCC_EMAIL) {
    $headers .= ''.BCC_EMAIL.'' . "\r\n";
}

没有收到有关该建议的密送电子邮件。我是如何包含/要求全局文件的?所有页面都需要这样的本地配置文件:

require_once("local_config.php");

然后本地配置文件需要像这样的全局配置文件:

require_once(dirname(__FILE__)."/../config/config_global.php");

这是否意味着我的BCC_EMAIL定义永远不会到达我的页面?

2 个答案:

答案 0 :(得分:1)

你有几个问题。

  1. 您需要使用defined()检查是否定义了常量
  2. 如果你想要一个字符串中的带引号的字符串,你需要转义引号,使用单引号和双引号的组合,或连接(尽管你根本不需要它们)。
  3. 试试这个:

    if (defined('BCC_EMAIL')) {
        $headers .= BCC_EMAIL."\r\n";
    }
    

答案 1 :(得分:0)

最终工作的是:

if (defined('BCC_EMAIL')) {
    $headers .= 'Bcc: '.BCC_EMAIL.'' . "\r\n";
}