社区,
我目前正在研究报告生成器。报告生成器的目标是发送一封带有 excel 文档的电子邮件,其中包含来自 sql 表的每周信息。它在星期一当天第一个人登录时激活。如果星期一是节假日,并且当天没有人登录,则不会在数据库中制作时间戳。当用户在星期二登录时,它会查看最后一个时间戳以查看是否为前一天放置了一个。如果没有,它将在星期二触发。
这个过程的第一步看起来像这样......
$today = cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));
$yesterday = date('Y-m-d', strtotime($date .' -1 day'));
$holiday = false;
if(jddayofweek($today,1) == 'Tuesday')
{
if(mysql_num_rows(mysql_query("select report_date from report_builder where report_date = '{$yesterday}'")) == 0)
{
$holiday = true;
}
}
if(jddayofweek($today,1) == 'Monday' || $holiday === true)
{
$today = mysql_query("select report_date from report_builder where report_date = CURDATE()");
if(mysql_num_rows($today) == 0)
{
$date = date('Y-m-d H:i:s',time()-(7*86400));
mysql_query("INSERT into report_builder (report_date) VALUES (CURDATE())");
//这里有更多代码
**此特定帖子的问题如下:
是否可以将信息发送到实际未打开的 csv 文件以便用户查看,而是保存到临时文件中?这可以通过不发送背景 html 的方式来完成吗?**
一旦完成,我想使用我当前的代码将文件发送给用户,看起来像这样......
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "**********";
$mail->AddAddress("*************");
$mail->Subject = "Test";
$mail->Body = "HI";
$fileName = $_FILES['file']['name'];
$tmpName = $_FILES['file']['tmp_name'];
$fileName = addslashes($fileName);
echo $fileName;
$mail->AddAttachment("temporary file path");
if(!$mail->Send())
{
echo 'Message was not sent.';
echo 'Mailer error:'.$mail->ErrorInfo;
}