我一直在寻找一个 php 库,它允许我通过电子邮件发送变量的格式化数据(如 krumo)。
这是因为我创建了一个错误处理程序,用于发送包含生产环境数据的电子邮件。
mail('someone@somewhere.com', 'dump', print_r($obj, true));
将发送 $obj 内容的人类可读版本。如果您需要类型/大小信息,可以使用 var_dump,但需要使用 ob 函数来捕获其输出,因为它没有“返回而不是输出”选项。
如果您希望它是机器可读的,您可以json_encode()
或数据。serialize()
如果您希望它是人类可读的,您可以提供第二个参数TRUE
以print_r()
将数据作为字符串返回,或者使用输出缓冲将输出捕获var_dump()
到字符串中。
例如
// For machine-readable results
$dataStr = json_encode($data);
// ...or...
$dataStr = serialize($data);
// For human-readable results
ob_start();
var_dump($data);
$dataStr = ob_get_clean();
// ...or...
$dataStr = print_r($data, TRUE);
我会json_encode()
在电子邮件中使用和发送变量作为 JSON 字符串。
另一种可以将其作为 HTML 发送的方式 例如
$sent = "<pre>".var_dump($data,true)."</pre>";
但请确保将电子邮件内容的标题设置为
$headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";