Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wprowadzanie zmiennej do tablicy
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


Witam (IMG:style_emoticons/default/smile.gif)


Mam taki kawalek kodu :

  1. if($info['content-type'] == 'text/html') {
  2. $sec = mailparse_msg_get_part($mime, $st);
  3. mailparse_msg_extract_whole_part_file($sec, $dir.$filename);
  4. $contents = ob_get_contents();
  5. echo nl2br(htmlentities($contents));
  6. }
  7. if($info['headers']['subject'] !== null && $info['headers']['date'] !== null) {
  8. $part[] = array(
  9. 'subjects' => $info['headers']['subject'],
  10. 'date' => $info['headers']['date'],
  11. 'from' => $info['headers']['from'],
  12. 'body' => $contents
  13. );
  14. }


Ten kod to jest czesc funkcji w pewnej klasie

Jak widac w pierwszej petli if przypisuje do zmiennej $contents to co jest w buforze, pozniej to wyswietlam no i elegancko na ekranie sie wszystko pojawia, ale dalej w drugiej funkcji che sobie to wrzucic do tablicy 'body' => $contents

No i wyswietlam tablice a tam w tym miejscu pustka

Do tego jeszcze taki error :

Cytat
Notice: Undefined variable: contents in C:\Apache\htdocs\PrackaMgr\class.FileModel.php on line 48

Gdzie linia 48 to ta 'body' => $contents
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wolfie
post
Post #2





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


fifi209 pomylka w tekscie, nie chodzi o funkcje tylko o druga petle if

Widac w listingu, przedstawie cała funkcje :

  1. public function getMsgsParts($dir) {
  2. $files = $this->getFiles($dir);
  3. $slice = array_slice($files, 0, 5);
  4. foreach($slice as $filename) {
  5. $mime = mailparse_msg_parse_file($dir.$filename);
  6. $struct = mailparse_msg_get_structure($mime);
  7. //print_r($struct);
  8. foreach($struct as $st) {
  9. $section = mailparse_msg_get_part($mime, $st);
  10. $info = mailparse_msg_get_part_data($section);
  11. //print_r($info);
  12. if($info['content-type'] == 'text/html') {
  13. $sec = mailparse_msg_get_part($mime, $st);
  14. mailparse_msg_extract_whole_part_file($sec, $dir.$filename);
  15. $contents = ob_get_contents();
  16. echo nl2br(htmlentities($contents));
  17. }
  18. if($info['headers']['subject'] !== null && $info['headers']['date'] !== null) {
  19. $part[] = array(
  20. 'subjects' => $info['headers']['subject'],
  21. 'date' => $info['headers']['date'],
  22. 'from' => $info['headers']['from'],
  23. 'body' => $contents
  24. );
  25. }
  26. }
  27. }
  28. return $part;
  29. }


No wiec odkrylem ze jednak zapisuje sie to do tablicy tylko ze jest jakies dziwne przesuniecie

Bo tak, czytam sobie z pliku dane, no i teraz czesc danych wstawiam do subject, date i form i one pochodza jak widac z jednego zrodla, a 'body' pochodzi stad :

  1. if($info['content-type'] == 'text/html') {
  2. $sec = mailparse_msg_get_part($mime, $st);
  3. mailparse_msg_extract_whole_part_file($sec, $dir.$filename);
  4. $contents = ob_get_contents();
  5. echo nl2br(htmlentities($contents));
  6. }


I teraz z tego co zauwazylem to body jest przesuniete -1 w stosunku do calej reszty czyli

subject : wiadomosc 2
date : wiadomosc 2
from : wiadomosc 2
body : wiadomosc 1

I tak przesuniecie wyglada , jesli zaladuje np 5 plikow to w body z pliku 5 jest body z pliku 4

Dlatego tez jak zaladowalem tylko 1 plik ( jedna wiadomosc) to byl komunikat ze $contents jest niezdefiniowany....
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 05:13