Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z obrazkiem, obrazek w bazie danych
vojtasek
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

Ostrzeżenie: (0%)
-----


Mam mały problem z prztransportowanie obrazka z "bazy danych danych" do e-mail. Operacje które pozwalją mi wyświetlać obrazek w div opieram na zasadzie zapisu:

  1. <img src="images/1_f.gif">


gdzie wcześniej zapis ten umieszczany jest bazie za pomocą jquery.

Na potrzby strony zupelnie to wystarczy ale tylko do momentu operacji wysłania zawartosci tabeli msql przez php mail do klienta.

Taka postać dostępu do gif w mail jest niedostępna, i przesyłana jest pusta zawartość.

Pytanie jest mojej jaka jest możliwość zmiany scieżki dostępu do brazka po SELECT-cie tak aby widoczny był w e-mail.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Żeby obrazek był widoczny w email musisz go dołączyć do wiadomości lub podać bezwzględny adres url.
Tyle że w pierwszy przypadku user nie będzie musiał akceptować pobierania danych z obcego zasoby. Opcja pierwsza jest znacznie lepsza, jedyny minus to większy rozmiar wiadomości.

Używając bibliotek PEAR zrobisz to kilkoma linijkami.

Dodatkowo bezwzględnie użyj templejtów mejlowych - http://mailchimp.com/resources/html-email-templates/ - są zbudowane w taki sposób żeby mail dobrze się zachowywał w każdym kliencie pocztowym oraz wiele innych przydatnych udogodnień jak np. umieszczanie w odpowiedzi tylko niektórych elementów.

  1.  
  2. include('Mail.php');
  3. include 'Mail/mime.php' ;
  4.  
  5. $params = array(
  6. 'host' => 'host SMTP',
  7. 'auth' => true,
  8. 'username' => 'nadawca@php.pl',
  9. 'password' => 'hasło',
  10. 'debug' => true
  11. );
  12.  
  13. $text = 'tekstowa wersja mejla'
  14.  
  15. $html = '<html><body>HTMLowa wersja mejla</body></html>'
  16.  
  17. $crlf = "\n";
  18. $hdrs = array(
  19. 'From' => 'nadawca@php.pl',
  20. 'Subject' => 'jakiś temat',
  21. 'To' => 'odbiorca@php.pl'
  22. );
  23.  
  24. $mime = new Mail_mime(array('eol' => $crlf));
  25.  
  26. $mime->setParam('head_encoding', 'base64');
  27. $mime->setParam('text_encoding', 'base64');
  28. $mime->setParam('html_encoding', 'base64');
  29.  
  30. $mime->setParam('head_charset', 'utf-8');
  31. $mime->setParam('text_charset', 'utf-8');
  32. $mime->setParam('html_charset', 'utf-8');
  33.  
  34. $mime->addHTMLImage('brand.png', 'image/png');
  35.  
  36. $mime->setTXTBody($text);
  37. $mime->setHTMLBody($html);
  38.  
  39. $body = $mime->get();
  40. $hdrs = $mime->headers($hdrs);
  41.  
  42. $mail_object =& Mail::factory('smtp', $params);
  43.  
  44. $mail_object->send($recipients, $hdrs, $body);
  45.  


Tak jest porządnie, każdy inny sposób może być tylko gorszy ;p
Go to the top of the page
+Quote Post
BugsBunny
post
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Jest jeszcze metoda nr3.

Obrazki zapisane bezpośrednio w kodzie jako base64
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.08.2025 - 11:10