Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]phpmailer + skalowanie załacznika
fcppl
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


witam,

Stworzyłem za pomocą phpmailer prosty formularz z możliwością dodania załącznika. Wszystko mi działa OK.

Chce dorobić żeby podczas dołączenia zdjęcia został podczas wysyłania automatycznie skalowany do ustalonego rozmiaru (pomniejszony) - zdjęcia pomniejszone będą wysłane na mój e-mail.
Teraz mam problem bo ludzi wysyłają b.duże zdjęcia i nie dość ze rozmiar jest duży to jeszcze zajmują po kilka MB.

Szukałem na forum jednak potrzebuję pomocy.

moj kod:

  1. <?php
  2.  
  3. if (isset($_POST["submit"])) {
  4.  
  5. $plik_tmp = $_FILES['plik']['tmp_name'];
  6. $plik = $_FILES['plik']['name'];
  7.  
  8. $name = strip_tags($_POST['name']);
  9. $address = strip_tags($_POST['address']);
  10. $email = strip_tags($_POST['email']);
  11. $message = strip_tags($_POST['message']);
  12.  
  13. require("phpmailer/class.phpmailer.php");
  14. $mail = new PHPMailer();
  15. $mail->PluginDir = "phpmailer/";
  16. $mail->From = 'xxx';
  17. $mail->FromName = 'test';
  18. $mail->Host = "smtp.wp.pl";
  19. $mail->Mailer = "smtp.wp.pl";
  20. $mail->Username = "xxx";
  21. $mail->Password = "xxx";
  22. $mail->SMTPAuth = true;
  23. $mail->SetLanguage("pl", "phpmailer/language/");
  24. $mail->Subject = 'test;
  25. $mail->CharSet = 'utf-8';
  26. $mail->IsHTML(true);
  27. $mail->Body = 'wiadomość z załącznikiem';
  28. $mail->AddAddress("test@test.pl");
  29. $mail->AddAttachment($plik_tmp, $plik);
  30. $mail->MsgHTML("
  31. <p>Adres: <strong>$name</strong> </p>
  32. <p>Osoba: <strong>$address</strong> </p>
  33. <p>Adres e-mail: <strong>$email</strong> </p>
  34. <p>tresc: <strong>$message</strong> </p>
  35. ");
  36. if (!$mail->Send())
  37. {
  38. echo '<p>Wystąpił błąd! Nie wysłano reklamacji.</p>';
  39. } else {
  40. $mail->ClearAddresses();
  41. $mail->ClearAttachments();
  42. echo '<p>Wiadomość została wysłana poprawnie.</p>';
  43. }
  44. }
  45. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fcppl
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


Generalnie chyba mam wszystko źle bo nie potrafię przerobić kody od skalowania żeby działało na dwa załączniki.
Z tego kodu poniżej mimo, że w form wybiorę inne jpg zapisuje mi dwa pliki na serwerze jednak są one jednakowe i na meila tez mam dwa załączniki, ale takie same.

  1. <?php
  2.  
  3. if (isset($_POST["submit"])) {
  4. $plik_tmp = $_FILES['plik']['tmp_name'];
  5. $plik_nazwa = $_FILES['plik']['name'];
  6. $plik_nazwa1 = $_FILES['plik1']['name'];
  7.  
  8. $save_file = $plik_nazwa;
  9. $save_file1 = $plik_nazwa1;
  10.  
  11. if(is_uploaded_file($plik_tmp)) {
  12. move_uploaded_file($plik_tmp, ''.$save_file.'');
  13. move_uploaded_file($plik_tmp, ''.$save_file1.'');
  14. $img = imagecreatefromjpeg(''.$save_file.'');
  15. $width = imagesx($img);
  16. $height = imagesy($img);
  17. $width_mini = 100;
  18. $height_mini = 100;
  19. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  20. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  21. imagejpeg($img_mini, $save_file."", 80);
  22. imagejpeg($img_mini, $save_file1."", 180);
  23. imagedestroy($img);
  24. imagedestroy($img_mini);
  25. }
  26.  
  27.  
  28. $name = strip_tags($_POST['name']);
  29. $address = strip_tags($_POST['address']);
  30. $email = strip_tags($_POST['email']);
  31. $message = strip_tags($_POST['message']);
  32.  
  33.  
  34. require("phpmailer/class.phpmailer.php");
  35. $mail = new PHPMailer();
  36. $mail->PluginDir = "phpmailer/";
  37. $mail->From = 'xxx';
  38. $mail->FromName = 'test';
  39. $mail->Host = "xxx";
  40. $mail->Mailer = "xxx";
  41. $mail->Username = "xxx";
  42. $mail->Password = "xxx";
  43. $mail->SMTPAuth = true;
  44. $mail->Subject = "test";
  45. $mail->CharSet = 'utf-8';
  46. $mail->IsHTML(true);
  47. $mail->Body = 'xxx';
  48. $mail->AddAddress("xxx");
  49. $mail->AddAttachment($save_file);
  50. $mail->AddAttachment($save_file1);
  51. $mail->MsgHTML("
  52. <p>Adres doręczenia: <strong>$name</strong> </p>
  53. <p>Osoba do kontaktu: <strong>$address</strong> </p>
  54. <p>Adres e-mail: <strong>$email</strong> </p>
  55. <p>Dokładny opis uszkodzenia: <strong>$message</strong> </p>
  56. ");
  57. if (!$mail->Send())
  58. {
  59. echo '<p>Wystąpił błąd! Nie wysłano.</p>';
  60. } else {
  61. $mail->ClearAddresses();
  62. $mail->ClearAttachments();
  63. echo '<p>Tresc została wysłana poprawnie.</p>';
  64. }
  65.  
  66. }
  67. ?>
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: 8.10.2025 - 08:36