Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: załączanie plików w mailach
Forum PHP.pl > Forum > Przedszkole
php programmer
Mam problemo.
Po pierwsze: Jak zapisać z poziomu php
wygenerowany właśnie przez php plik html'owy.
Po drugie: Jak wysłać maila z załącznikiem (tym zalącznikiem jest włąśnie plik wygenerowany za pomocą php)
Seth
Cytat(php programmer @ 2004-11-04 13:18:10)
Mam problemo.
Po pierwsze: Jak zapisać z poziomu php
wygenerowany właśnie przez php plik  html'owy.

Poczytaj o funkcjiach ob_" title="Zobacz w manualu PHP" target="_manual


Cytat(php programmer @ 2004-11-04 13:18:10)
Po drugie: Jak wysłać maila z załącznikiem (tym zalącznikiem jest włąśnie plik  wygenerowany za pomocą php)

Kliknij mnie
sikorat
ja bym to zrobil tak:

************plik1.php***********************
  1. <?php
  2.  
  3. //ZALADOWANIE DO PAMIECI PLIKU DO PRZESLANIA
  4. ob_start (); 
  5. include('plik.php'); //to twoj plik wyswietlajacy html
  6. $string = 'zalacznik.html' //nazwa pliku htm
  7. $fp=fopen($string,'w');
  8. fwrite($fp, ob_get_contents()); //zapisujesz do pliku zrodlo html
  9. fclose($fp);
  10. $fp = fopen($string, &#092;"r\");
  11. $zrodlo = fread($fp,100000);
  12. include('mail.php'); // a tu zalaczasz plik ktory wysle maila
  13.  
  14.  
  15. ?>

Potem robisz drugi plik
************mail.php***********************

<?
  1. <?php
  2.  
  3. $emailBody = 'html';
  4. $attachment = &#092;"<html>$zrodlo</html>\";
  5. $boundary = uniqid( &#092;"\");
  6. $headers = &#092;"From: twoj@mail.pl
  7. Content-type: multipart/mixed; boundary=&#092;"$boundary\"\";
  8. $emailBody = &#092;"--$boundary
  9. Content-type: text/plain; charset=iso-8859-1
  10. Content-transfer-encoding: 8bit 
  11.  
  12. $emailBody
  13.  
  14. --$boundary
  15. Content-type: text/html; name=attachment.html
  16. Content-disposition: inline; filename=attachment.html
  17. Content-transfer-encoding: 8bit
  18.  
  19. $attachment
  20.  
  21. --$boundary--&#092;";
  22. mail( $adres_odbiorcy, $tytul_maila, $emailBody, $headers);
  23. ?>

jak Ci nie bedzie dzialac 8 bitowy w lini
Content-transfer-encoding: 8bit
to zmien na base64

pozdrawiam
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.