Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wysyłanie pdfa jako załącznika, Wysyła ale plik ma 0 bajtów i jest nie odczytywalny
MOniToR
post 24.10.2007, 19:39:32
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


Tak jak w temacie. Generuje z formularza pdfa, przy pomocy klasy ezPdf i zapisuje go na dysku, i później wysyłam go maile przy pomocy klasy eMail. Wszystko było świetne gdyby wysłany plik był prawidłowy i dał się otworzyć a tak nie jest, m.in dlatego, że ma 0 bajtów i nie wiem czemu się tak dzieje. Plik na serwerze zapisuje się ok, ale ten co dochodzi na maila nie:/ Plik pdf jest zapisywany w tym samym katalogu co php, który go zapisuje i katalog ma ustawiony CHMOD na 777.


Kawałek kodu, który to obsługuje(jeżeli potrzeba mogę zamieścić też źródło klas)

  1. <?php
  2. include ('class.ezpdf.php');
  3.  include ('mail_class.php');
  4.  
  5. $diff=array(177=>'aogonek',161=>'Aogonek',230=>'cacute',198=>'Cacute',234=>'eogonek',202=>'Eogonek',
  6. 241=>'nacute',209=>'Nacute',179=>'lslash',163=>'Lslash',182=>'sacute',166=>'Sacute',
  7. 188=>'zacute',172=>'Zacute',191=>'zdot',175=>'Zdot'); 
  8.  
  9.  srand((double) microtime()*1000000);
  10. $naz=md5(uniqid(rand()));
  11. $sciezka=''.$naz.'.pdf';
  12. $pdf =& new Cezpdf('a4');
  13. $pdf->selectFont('./fonts/tahoma.afm',array('encoding'=>'WinAnsiEncoding','differences'=>$diff));
  14.  
  15. $pdf->ezStream();
  16. $pdfcode = $pdf->ezOutput();
  17.  
  18. ////// TUTAJ JEST/BYŁA TRESC PDFA Z POLSKIMI LITERAMI //////////////
  19.  
  20. $fp=fopen($sciezka,'wb');
  21. fwrite($fp,$pdfcode);
  22. $logo = fread($fp, filesize($sciezka)); 
  23. fclose($fp);
  24. $wysylka = new eMail('2'); 
  25. $wysylka->eMailContent("Kolejny test", "Zobacz załączniki!");
  26. $wysylka->eMailAttachment("text/plain", "test1.txt", "zawartość testowa");
  27. $wysylka->eMailAttachment("application/pdf", $sciezka, $logo);
  28. $wysylka->eMailSend($_POST["mail"]);
  29. ?>


Proszę o pomoc, będę bardzo wdzięczny smile.gif


--------------------
Go to the top of the page
+Quote Post
juzwa
post 26.10.2007, 09:33:34
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


$fp=fopen($sciezka,'wb');
fwrite($fp,$pdfcode);
$logo = fread($fp, filesize($sciezka));
fclose($fp);

moim zdaniem tu jest problem

otwierasz plik 'w' -> do zapisu
a potem dajesz fread

100% nie mam pewności ale daj echo $logo i pewnie będzie pusty tekst

może najpierw zapisz potem przeczytaj (czyli najpierw 'w', a potem 'r') albo daj falgę na zapis/odczyt 'w+'

tylko, że przy w - jest faktycznie nadpisanie pliku
Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego początku i obcina plik do zerowej długości. Jeśli plik nie istnieje to próbuje go utworzyć.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.08.2025 - 03:38