Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]zmiana rozmiaru obrazka
Forum PHP.pl > Forum > Przedszkole
Mary$
mam taki problem z obrazkiem: robie upload zdjecia na serwer (w tym wypadku ok. 1,5MB). potem przemaglowuję przez skrypt kompresujący. wszystko jest fajnie, gdy obrazki sa małe (kilkaset KB), ale gdy mam większe, to funkcja imagecreatefromjpeg() zwraca komunikat:
Kod
Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 2816 bytes)
nie wiem co z tym zrobić. obrazek przy którym wyskoczył ten błąd miał 1 307 693 B . skrypt kompresujący mam stąd link. czy ktoś wie, jak załatwić to tak, żeby można było zmniejszać tez większe pliki (jakoś na pewno się da winksmiley.jpg)?

czy ktoś zna odpowiedź? 35h mineło...
mike
Twój skrypt ma za mało przydzielonej pamięci. Nie poradzi sobie z takimi operacjami.
Zajrzyj do php.ini i poszukaj dyrektyw związanych z pamięcią a potem zmień ich wartości.
Mary$
phpinfo() pokazuje paramert "memory_limit" z wartością 20MB - to co mówi błąd. A ja próbuję obrazek przemaglować o wielkości 1,3 MB. To jednak trochę mniej jest... :/

chyba, że coś z tym wspólnego ma to, że wcześniej robie upload tegoż pliku

ponawiam pytanie...
mike
Cytat(Mary$ @ 13.04.2007, 17:34:02 ) *
phpinfo() pokazuje paramert "memory_limit" z wartością 20MB - to co mówi błąd. A ja próbuję obrazek przemaglować o wielkości 1,3 MB. To jednak trochę mniej jest... :/
To, że obrazek jest mniejszy to nic nie znaczy.
Weź pod uwagę, że skrypt do działania też potrzebuje pamięci.
Wczytanie obrazka do pamięci zajmuje trochę więcej niż sama waga obrazka, a do operacji na nim potrzeba jeszcze trochę.

Sprawdź jednak czy skrypt będzie działał z większą ilością pamięci.
Jeśli nadal nie będzie działał wyeliminujemy przynajmniej ten aspekt.
Mary$
Dałem wartość 50M i działa biggrin.gif Dzięki wielkie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.