Mam cos takiego jak ponizej i problem polega na tym ze ten kawalek kodu dziala
na 50% czyli w przypadku pobierania danych z konta i zalacznika jako JPG
wszystko jest OK czyli nastepuje polaczenie, pobranie maila a nastepnie
download na serwer i umieszczenie pliku w odpowiednim katalogu. Do tego
dochodzi zapis wszystkich danych w bazie.
Teraz jesli w ten sam sposb wysylam plik z ext. 3gp nastepuje polaczenie
pobranie zal. ale juz jak nastepuje sam zapis do katalogu na serwerze to plik
nie jest zapisywane z ext. tylko ma postac 1. a powieniec miec zapis 1.3gp sad.gif
To samo jest z zapisem do bazy gdzie pole ext nie jest wypelniane jako 3gp
tylko zostaje puste sad.gif bez wypelnienia...
Co moze byc nie tak....? Prosba o pomoc.

  1. <?php
  2. // open mailbox and get all emails from server
  3. if (! $mail = @imap_open("{".$pop3_server.":143}INBOX", "$pop3_address",
  4. "$password")) {
  5. header("location: $url?error=4");
  6. }
  7. $headerstrings = imap_headers($mail);
  8. foreach($headerstrings as $headerstring) {
  9. preg_match("/[0-9]/", $headerstring, $number);
  10. // parse message
  11. $header = imap_fetchheader($mail, $number[0]);
  12. preg_match("/Date: (.*)?[+|-]/", $header, $date);
  13. $date = htmlentities($date[1]);
  14. $imap = imap_fetchstructure($mail, $number[0]);
  15.  
  16. if (! empty($imap->parts)) {
  17. for ($i = 1, $j = count($imap->parts); $i < $j; $i++) {
  18. $msg = imap_fetchbody($mail, $number[0], $i + 1);
  19. $part = $imap->parts[$i];
  20.  
  21.  
  22. $headers = imap_header($mail, $number[0]);
  23. $from = $headers->from; 
  24. $addr = "".$from[0]->mailbox."@".$from[0]->host.""; 
  25. $subj = $headers->subject;
  26. $to  = $headers->toaddress;
  27. $date = date($date_format, strtotime(substr($headers->Date, 0, 22)));
  28. $subj = preg_replace('/^.*Q?(.*?)?=$/', '1', $subj);
  29. $subj = str_replace("_", " ", $subj);
  30. $subj = str_replace("=2E", ".", $subj);
  31. $subj = addslashes($subj);
  32.  
  33. if ($part->type == "3") {
  34. $ext = "3gp";
  35. } else if ($part->type == "5") {
  36. $ext = "jpg";
  37.  
  38. }
  39.  
  40. $query = "INSERT INTO `$db_table` VALUES
  41. ('NULL','$ext','$subj','$to','$addr','$date')";
  42. $result = mysql_query($query) or header("location $url?error=5");
  43. $count = mysql_insert_id();
  44.  
  45. if (! $handle = fopen("$images_dir/".$count.".$ext", "w")) {
  46. header("location: $url?error=6");
  47. }
  48. fwrite($handle, imap_base64($msg));
  49. fclose($handle);
  50. }
  51. }
  52. }
  53. imap_delete($mail, $number[0]);
  54. imap_expunge($mail);
  55. imap_close($mail);
  56. ?>


--
pzdr
o.

----------------------
Jeśli chcemy dać kod na forum umieszczamy go
w odpowiednich tagach BB Code, tym
razem poprawiłem, ale na przyszłość proszę
się do tego stosować : )
---
~strife