Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z obrazkiem
Forum PHP.pl > Forum > Po stronie przeglądarki
vojtasek
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.
wNogachSpisz
Ż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
BugsBunny
Jest jeszcze metoda nr3.

Obrazki zapisane bezpośrednio w kodzie jako base64
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.