2016-04-18 20 views
1

PHPでSMTPを使用してメールで送信されたファイルに日付を追加しようとしています。私が必要とするのは、サーバー上のファイル名を変更することなく、電子メールで送信されたファイル名に日付を追加することです。だから、私のコードはまだ 'file.csv'を探しますが、電子メールの添付ファイルに '(​​日付)file.csv'という名前を付けます。PHPメーラーの添付ファイルに日付を追加するSMTP

$mail->addAttachment('file.csv'); 

私はすでに試しています。

$today = date("Y-m-d"); 
$filename = 'file'.$today.'csv' 
$mail->addAttachment('./'.$filename, 'file.csv', 'base64', 'text/csv'); 

--solution--

$today = date("Y-m-d"); 
$filename = "file.csv"; 
$filename2 = 'file'.$today.'csv'; 
$mail->addAttachment($filename, $filename2); 
+0

2番目の引数を使用したい名前に変更しようとしましたか?最初の引数はファイルパスです。 (神様の文書はひどいです) –

+0

私はそれを試しました。そして、はい、私はドキュメントでそれについて何も見つけることができません。 – user3385236

+0

'AddAttachment($ path、$ name =" "、$ encoding =" base64 "、 $ type =" application/octet-stream ")' '文字列$パス文字列$ name文字列$ encoding文字列$ type ''ファイルシステム上のパスから添付ファイルを追加します。ファイルを見つけることができなかったり、アクセスできなかった場合はfalseを返す」ということになります。しかし、私の推測では、最初の引数は完全なファイルパスであり、2番目の引数は電子メールに表示されるということです。同じ質問への回答でも同じことが言いますhttp://stackoverflow.com/questions/16776073/phpmailer-sent-attachment-as-other-name –

答えて

0

あなたは両方の名前を設定する方法を知っているように、それはかなり重複していないのですが、あなたは単にあなたのファイル名の周りの間違った方法を持っています。これを試してみてください:この方法で

$today = date("Y-m-d"); 
$filename = 'file'.$today.'csv' 
$mail->addAttachment('./file.csv', $filename, 'base64', 'text/csv'); 

ドキュメントがhereです。

関連する問題