ホームページ  >  記事  >  バックエンド開発  >  PHPでエクスポートしたExcelをメールとして送信する方法_PHPチュートリアル

PHPでエクスポートしたExcelをメールとして送信する方法_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:27:03892ブラウズ

PHPでエクスポートしたExcelをメールで送信する方法

クリックしてExcelをダウンロードしてテキストメールを送信する機能を実装しましたが、それを結合してphpでエクスポートしたExcelを添付して送信するにはどうすればよいでしょうか?

1. Excelを生成します:

header("Content-type:application/octet-stream");

header("Accept-Ranges:bytes");

Header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=".$filename.".xls");

header("Pragma: no-cache");

header("有効期限: 0");

if (!empty($title)){

foreach ($title as $k => $v) {

$title[$k]=iconv("UTF-8", "GB2312",$v);

}

$title= implode("t", $title);

エコー "$titlen";

}

if (!empty($data)){

foreach($data as $key=>$val){

foreach ($val as $ck => $cv) {

$data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);

}

$data[$key]=implode("t", $data[$key]);

}

echo implode("n",$data);

}

2.メールを送信します:

phpmailerクラスライブラリを使用しました

$mail = new PHPMailer();

$mail->CharSet = 'UTF-8';

$mail->IsSMTP();

$mail->SMTPAuth = true;

$mail->SMTPSecure = '';

$mail->Host = $config['SMTP_HOST'] // SMTP サーバー

;

$mail->Port = $config['SMTP_PORT'] // SMTPサーバーのポート番号

;

$mail->Username = $config['SMTP_USER'] // SMTPサーバーのユーザー名

;

$mail->Password = $config['SMTP_PASS'] // SMTPサーバーのパスワード

;

$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);

$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];

$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];

$mail->AddReplyTo($replyEmail, $replyName);

$mail->件名 = $subject;

$mail->MsgHTML($body);

$mail->AddAddress($to, $name);

if(is_file($attachment)){ // 添付ファイルを追加します

$mail->AddAttachment($attachment);

}

return $mail->Send()

------解決策---------------------

7行目に追加

ob_start();

23行目以降に追加

$s = ob_get_flush();

file_put_contents($filename.".xls", $s);

$attachment = $filename.".xls";

メール送信を実行する

------解決策---------------------

どこか間違えているはずです、よく確認してください

実際に出力されるのはテキストファイルであり、メモ帳で開くことができます

ob関数の機能や使い方は全てマニュアルに載っています

------解決策---------------------

ため息! そのようなエクスポート方法はありません。どうすれば添付ファイルとして送信できますか??

これは幻想ではないですか?

------解決策---------------------

アイデアを得るには、以下を参照してください:

まずエクセルをサーバー上に保存し、次にエクセルのパスを取得して、ファイルが不要になったら削除すればOKです

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/820422.html技術記事 phpでエクスポートしたエクセルをメールで送信する方法 クリックしてエクセルをダウンロードしてテキストメール送信する機能が追加されましたが、どうすればphpでエクスポートしたエクセルを添付ファイルとして送信できますか...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。