我正在尝试生成excel文件并通过电子邮件将其作为附件发送。这里是生成excel文件的代码:
/** Include PHPExcel */
require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php';
include('inc/database_connection.php');
$conn = mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD, DATABASE_NAME);
$sql2 = '
SELECT t2.*
FROM (
SELECT staff_id, projectNo, longname, username, title, process, creation_time as min
FROM archived
WHERE creation_time IN (SELECT min(creation_time) FROM archived)
) t1
RIGHT JOIN (
SELECT staff_id, projectNo, longname, username, title, process, creation_time as max
FROM archived
WHERE creation_time IN (SELECT max(creation_time) FROM archived)
) t2
ON t1.staff_id = t2.staff_id AND
t1.projectNo = t2.projectNo AND
t1.process = t2.process
WHERE t1.staff_id is null
';
$query2 = mysqli_query($conn, $sql2);
// Instantiate a new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set the active Excel worksheet to sheet 0
$objPHPExcel->setActiveSheetIndex(0);
// Initialise the Excel row number
$rowCount = 1;
// Iterate through each result from the SQL query in turn
// We fetch each database result row into $row in turn
while ($data2 = mysqli_fetch_assoc($query2))
{
//$oldest_date=$data2["min"];
$newest_date=$data2["max"];
$staffid=$data2["staff_id"];
$longnm=$data2["longname"];
$usrnm=$data2["username"];
$projNo=$data2["projectNo"];
$ttle=$data2["title"];
$proc=$data2["process"];
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $staffid);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $longnm);
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $usrnm);
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$rowCount, $projNo);
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$rowCount, $ttle);
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$rowCount, $proc);
// Increment the Excel row counter
$rowCount++;
}
$file_name = 'ExcelChanges';
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($file_name.'.xls');
然后我正在尝试发送电子邮件:
$to = 'powqb@mail.com';
$subject = 'Test email with attachment';
$random_hash = md5(date('r', time()));
$message = 'test';
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$attachment = chunk_split(base64_encode(file_get_contents($file_name.'.xls')));
mail( $to, $subject, $message, $headers );
我收到消息但是空的。我只进行了单词测试,内部没有附件。可能有什么问题?