![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Mam pytanie, tak jak w temacie, czy jest możliwe wysłanie maila z załącznikiem bez wcześniejszego uploadowania pliku-załącznika na serwer? Sytuacja jest taka: jest strona z formularzem kontaktowym gdzie można dołączyć plik-załącznik, dane z formularza są przetwarzane i wysyłany jest mail. Aby dodać załącznik uploadowałem plik na serwer, ale pojawił się problem, gdy załącznik miał więcej niż 2 MB serwer wyrzucał błąd:Fatal error: Allowed memory size of 10485760 bytes exhausted (tried to allocate 3266122 bytes) in ***/www/phpmailer/class.smtp.php on line 307 , dodam że wysyłałem maila poprzez bibliotekę phpmailer. kod skryptu wysyłającego wiadomość
Ustawienia serwera pozwalają na upload plików do 15 MB, a pamięć na wykonanie skryptu to 10MB. Może ktoś wie co można z tym zrobić? Dzięki za pomoc. Ten post edytował 1maciek 16.11.2006, 15:52:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (10%) ![]() ![]() |
wiec jeśli nie, to może jakiś pomysł na rozwiązanie tego problemu (opisanego w pierwszym postcie)
jest może jakaś metoda, która nie zużywa aż tak dużej ilości pamięci, dodam że jeśli formularz jet wysyłany bez załącznika lub z małym załącznikiem, problemu nie ma, wiosek wiec jest taki że to wina uploadu Ten post edytował 1maciek 16.11.2006, 12:45:17 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
formularz mam w html-u, a skrypt odbierajacy i wysyłający wygłada tak:
przed chwilą jeszcze dla sprawdzenia wysłalem sobie maila z 12 megowym załacznikiem - i poszło bez żadnego bólu. zobacz jak to wygląda u Ciebie i daj znac. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (10%) ![]() ![]() |
sprawdzilem i sprawa wyglada tak:
najwiekszy zalacznik jaki udalo mi sie przeslac to 3,5MB przy 4,5MB pojawia sie blad Kod Fatal error: Allowed memory size of 15728640 bytes exhausted (tried to allocate 5929279 bytes) in ***/www/test/mail/mail.php on line 34 tak jak widac pamiec dla skryptow to 15MB linia 34 w mail.php to Kod $data = chunk_split(base64_encode($data)); moj plik - mail.php jest przesuniety wzgledem Twojego pliku o 5 linii do tylu, bo wyrzucilem naglowki html, poza tym odkomentowalem linie 44 i 45 (nr linii wg Twojego skryptu), reszta bez zmian Ten post edytował 1maciek 17.11.2006, 10:56:26 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
czyli probowałes na moim skrypcie od poczatku do konca? czy tylko jakas jego część wpakowałes?
wrzuc całość i zobacz - u mnie tak jak pisałem 12 megowy załacznik wysłał sie bez bolu - moze to jakies ograniczenia od strony serwera, a nie od strony skryptu, tzn na bank to wina serwera i ograniczen - bo u mnie działało bez problemu. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
To przeciez zalezy od konfiguracji samego serwera.
W php.ini sa trzy wllasciwosci za to odpowiadajace, max_upload_filesize, max_post_size, i max_memory (nazwy nie sa dokladne nie pamietam teraz). To je musisz ustawic tak, zeby skrypt mogl zajac sie wiekszym plikiem. Teraz to zalezy gdzie hostujesz strone, jesli wlasny serwer to wal do php.ini i zmien, jesli wykupiony gdzies to skonaktuj sie z adminem i zapytaj jak mozesz takie rzeczy zmieniac. W home.pl o ile sie nie myle wystarczy stworzyc dodatkowy php.ini w katalogu z ktorego strona jest czytana i w nim wlasnie umiescic zmiany. No ale jak mowilem, administrator. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
W home.pl o ile sie nie myle wystarczy stworzyc dodatkowy php.ini w katalogu z ktorego strona jest czytana i w nim wlasnie umiescic zmiany. dokładnie - w home.pl jest tak jak piszesz, rozmawiałem ostatnio na czacie pomocy bo tez chciałem cos pozmieniac w php.ini. dodatkowo nie ma co sie bac ze cos mozna namieszac - jesli cos przestanie działac - usuwasz twoj plik php.ini i wszystko wraca do normy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:12 |