私のコードを使用してメールでそれを送信メールにそれを添付して、下記である:.xlsファイルを作成し、XLSファイル&を作成するためにPHP
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");
header("Pragma: no-cache");
header("Expires: 0");
$sep = "\t";
echo "Name \t Email \t Phone \t \n ";
while($row = mysqli_fetch_array($result,MYSQLI_BOTH)){
$schema_insert = "";
$schema_insert .= "$row[0]".$sep;
$schema_insert .= "$row[1]".$sep;
$schema_insert .= "$row[2]".$sep;
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
$schema_insert .= "\t";
print(trim(str_replace(',', " ", $schema_insert)));
print "\n";
}
file_put_contents('test.xls', $schema_insert);
$to = "[email protected]";
$from = "[email protected]";
$subject = "test mail";
$separator = md5(date('r', time()));
// carriage return type (we use a PHP end of line constant)
$eol = PHP_EOL;
// attachment name
$filename = "test.xls";
//$pdfdoc is PDF generated by FPDF
$attachment = chunk_split(base64_encode(file_get_contents('test.xls')));
// main header
$headers = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"";
// no more headers after this, we start the body! //
$body = "--".$separator.$eol;
$header .= "Content-type:text/plain; charset=iso-8859-1".$eol;
$body .= "Content-Transfer-Encoding: 7bit".$eol.$eol;
$body .= "This is a MIME encoded message.".$eol;
// message
$body .= "--".$separator.$eol;
$body .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$body .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$body .= $message.$eol;
// attachment
$body .= "--".$separator.$eol;
$body .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol;
$body .= "Content-Transfer-Encoding: base64".$eol;
$body .= "Content-Disposition: attachment; filename=\"".$filename."\"".$eol.$eol;
$body .= $attachment.$eol;
$body .= "--".$separator."--";
if (mail($to, $subject, $body, $headers)) {
echo "mail send ... OK";
} else {
echo "mail send ... ERROR";
}
これは、.xlsファイルやメールを作成しますアタッチメントワーク完璧。このすべてのことは、送信ボタンをクリックすると発生します。 私の問題は、送信ボタンをクリックすると、この.xlsファイルがダウンロードされることです。これは起こらないはずです。 & .xlsファイルecho "Name \t Email \t Phone \t \n ";
の列名は、送信ボタンクリックでダウンロードされた.xlsファイル内にのみ表示されます。しかし、メールに送信する.xlsファイルには、列データなしのROWデータのみが含まれています。 誰かが自分のコードで間違いを示唆することはできますか?そして最後に、この.xlsファイルはメールからダウンロード可能でなければなりません。しかし、私は新しいタブでそれを見ることしかできません。プレビューなし、ダウンロードできません。 ご協力いただければ幸いです。ありがとう。