在php中以消息形式发送函数的方法';s mail()
我正在编写一个PHP脚本,它将通过cron每晚发送一封电子邮件。在这个脚本中,我有多个输出特定文本的函数。然后我尝试在电子邮件中发送这些功能的内容。出于某种原因,电子邮件的处理很好,但内容的主体显示为空。如果有更好的方法,我愿意接受在php中以消息形式发送函数的方法';s mail(),php,sendmail,Php,Sendmail,我正在编写一个PHP脚本,它将通过cron每晚发送一封电子邮件。在这个脚本中,我有多个输出特定文本的函数。然后我尝试在电子邮件中发送这些功能的内容。出于某种原因,电子邮件的处理很好,但内容的主体显示为空。如果有更好的方法,我愿意接受 function function1() { global $new; echo "<p>"; while ($row = mysql_fetch_array($query)) $content = $row["COUNT(col
function function1() {
global $new;
echo "<p>";
while ($row = mysql_fetch_array($query)) $content = $row["COUNT(column1)"];
if ($content != 0) echo "output1";
else echo "output2";
echo "</p>";
}
$emailMessage = function1().function2().function3();
if ($_GET['version'] == "email") {
mail ($emailTo, $emailSubject, stripslashes($emailMessage));
}
else echo $emailMessage;
函数function1(){
全球新美元;
回声“”;
而($row=mysql\u fetch\u array($query))$content=$row[“COUNT(column1)”;
如果($content!=0)回显“output1”;
else回显“output2”;
回声“”;
}
$emailMessage=function1().function2().function3();
如果($_GET['version']=“email”){
邮件($emailTo、$emailSubject、斜杠($emailMessage));
}
否则回显$emailMessage;
显然,代码有点模糊,但总的轮廓在那里。
echo
将输出发送到标准输出,而不是从函数返回。试试这个
ob_start()
// run function contents, including echo
var message = ob_get_clean();
return message;
这将把您的
echo
捕获到缓冲区中,防止缓冲区被发送,然后将缓冲区读入变量。然后,它将清空缓冲区以备下次使用。echo
将输出发送到标准输出,而不会从函数返回。试试这个
ob_start()
// run function contents, including echo
var message = ob_get_clean();
return message;
这将把您的
echo
捕获到缓冲区中,防止缓冲区被发送,然后将缓冲区读入变量。然后它将清空缓冲区以备下次使用。应该在整个php页面的开头调用ob_start(),还是在每个单独的函数中调用ob_start(),我想是整个页面。试试看,哦,对不起。我已经几百年没有编写PHP了。应该在整个PHP页面的开头调用ob_start(),还是在每个单独的函数中调用ob_start()?我想是整个页面。试试看,哦,对不起。我已经几百年没有编写PHP了。