Autor | Zpráva | ||
---|---|---|---|
CAShiD Profil |
#1 · Zasláno: 3. 8. 2011, 21:12:18
Zdravím všechny PHP/MySQL mozky.
Řeším takový problém. Potřebuji odeslat email s přílohami, které mám uloženy binárně v MySQL databázi. Používám PHPMailer a netuším jak soubor vydolovat z databáze tak, abych ho mohl přiložit k emailu. Jen podotýkám, že nejsem žádný expert. Jak odeslat přílohu ze serveru po zadání cesty a názvu souboru však vím. Do uvedeného řádku potřebuji vygenerovat soubor z DB tak, aby se přiložil a odeslal. $mail->AddAttachment("/cesta/soubor.jpg", "soubor.jpg"); Pátral jsem na netu, Googlil, zkouším nesmysly (typu pokus, omyl), ale né a né něco vymyslet. Ještě mě napadla jedna věc, zda by třeba nešlo vygenerovat soubor z DB někam na server (pak už bych postupoval běžnou metodou a soubor po akci opět smazal) NOTE: Je zřejmé, že nechci nechat válet soubory někde ve složce :-) Je možné, že podobnou věc už někdo řešil i přede mnou. Možná se Googlu ptám špatně...nevím :-( Předem moc díky za vaši pomoc. CAShiD |
||
Majkl578 Profil |
#2 · Zasláno: 3. 8. 2011, 22:07:39 · Upravil/a: Majkl578
PHP Mailer by měl mít metodu AddStringAttachment, kterou by mělo jít připojit soubor, který fyzicky neexistuje.
|
||
CAShiD Profil |
#3 · Zasláno: 4. 8. 2011, 02:42:49
Jak jednoduché a jak účiné :-)
Funguje jako víno ;-) Vyřešeno takto: (jen ukázka - není to ošetřeno a vím že je to hnus, ale funguje to) $MYDB = 'nazev_db'; $MYconnect = MySQL_PConnect('localhost','login','heslo'); MySql_Select_DB($MYDB, $MYconnect); $query = "SELECT nazev, binarni_priloha " . "FROM tabulka_soubory WHERE id = '1'"; $result = mysql_query($query) or die('Chyba, nepripojeno!'); list($nazev, $binarni_priloha) = mysql_fetch_array($result); $mail = new PHPMailer(); ... $mail-> ....... //pripojení na SMPT, hlavičky, tělo zprávy apod. $mail->AddStringAttachment($binarni_priloha, $nazev); // zde je binární příloha $mail-> ......//zde můžeme dále pokračovat Každopádně moc děkuji Majkl578 za pomoc ;-) Snad to také někomu pomůže. Díky. |
||
Časová prodleva: 14 let
|
0