通过电子邮件(PHP)向您自己发送get_defined_vars()

时间:2012-08-29 23:23:35

标签: php email

在开发期间,当其他人正在尝试我的网站并遇到问题时,我希望能够找到我的代码存在问题的位置,get_defined_vars()对我来说可能是最有用的,可以找出发生了什么点。

我正在编写这个函数,但它正在返回:

  

解析错误:语法错误,意外'='

有人知道从php发送自己get_defined_vars()的方法吗?

if(isset($_GET['sendmeanemail'])){
$emailarr = get_defined_vars();
$to      = 'myemail@gmail.com';
$subject = 'Debug Report for'. $currentApiUser['first-name']. ' '. $currentApiUser['last-name'];
$message = '<pre>\n';

$message. = print_r(addslashes($emailarr));
$message. = '</pre>';
$headers = 'From: webmaster@domain.com' . "\r\n" .
    'Reply-To: webmaster@domain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}

编辑:这是通过更改为:(预标签实际上不是必需的,我正在弄清楚如何更好地格式化gmail)来修复的。

if(isset($_GET['sendmeanemail'])){
$emailarr = get_defined_vars();
$to      = 'myemail@gmail.com';
$subject = 'Debug Report for'. $currentApiUser['first-name']. ' '. $currentApiUser['last-name'];
$message = '<pre>';

$message .= print_r($emailarr, true);
$message .= '</pre>';
$headers = 'From: webmaster@domain.com' . "\r\n" .
    'Reply-To: webmaster@domain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}

1 个答案:

答案 0 :(得分:1)

您需要在第二个参数设置为true的情况下调用print_r。此外,不应在数组上调用addslashes。它应该看起来像:

print_r($emailarr,true);

最后,你需要移动。 (期间)等号旁边。您的代码应如下所示:

$message = '<pre>\n';
$message .= print_r($emailarr,true);
$message .= '</pre>';