2016-04-18 16 views
1

Ich versuche, das Datum zu einer Datei hinzuzufügen, die per SMTP in PHP per E-Mail gesendet wird. Was ich brauche, ist das Hinzufügen des Datums zu dem in der E-Mail gesendeten Dateinamen, ohne den Dateinamen auf dem Server zu ändern. Also sucht mein Code immer noch nach 'file.csv', aber nennt ihn '(date) file.csv' in der E-Mail-Anlage.Datum hinzufügen Anhang in PHP Mailer SMTP

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

Ich habe es bereits versucht.

$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

Haben Sie versucht, das zweite Argument in den Namen zu ändern, den Sie haben möchten? Das erste Argument ist der Dateipfad. (Gott, ihre Dokumentation ist schrecklich) –

+0

Ich habe das versucht. Und ja, ich kann nichts darüber in der Dokumentation finden. – user3385236

+0

Ich kann nur 'AddAttachment ($ path, $ name =" ", $ encoding =" base64 ", $ type =" application/octet-stream ") sehen' 'string $ pfad string $ name string $ encoding string $ type '' Fügt einen Anhang aus einem Pfad im Dateisystem hinzu. Gibt false zurück, wenn die Datei in ihrer Methodendokumentation nicht gefunden oder aufgerufen werden konnte. Daher kann ich nur raten. Aber ich vermute, dass das erste Argument der vollständige Dateipfad und der zweite der Name in der E-Mail ist. Sogar die Antwort auf die gleiche Frage sagt das gleiche http://stackoverflow.com/questions/16776073/phpmailer-sent-attachment-as-other-name –

Antwort

0

Es ist nicht ganz ein Duplikat, wie Sie wissen, wie beide Namen zu setzen, aber du hast einfach Ihre Dateinamen falsch herum. Versuchen Sie folgendes:

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

Die docs auf dieser Methode here sind.

Verwandte Themen