Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Allowed memory size, fatal error
dresik
post 11.03.2010, 16:12:57
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


Witam,
mam problem ze zmniejszaniem zdjęć na serwerze, jeśli zdjęcie ma około 3mb i więcej to wyskakuje komunikat:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 12288 bytes) ...

błąd wyskakuje w lini, w której jest:

  1. if ($typ == ".jpg") {$img_src = imagecreatefromjpeg($in);}


przed tą linią jest wpis:

  1. $typ = img_typ($in);



który wywołuje funkcję:

  1. function img_typ($name){
  2. $name = strtolower(substr($name, -4, 4));
  3. if($name == '.jpg' OR $name == 'jpeg') {return ".jpg";}
  4. elseif($name == '.gif') {return ".gif";}
  5. elseif($name == '.png') {return ".png";}
  6. }



W php ini memory_limit zmieniłem z 16m na 64M ale to nie pomogło

Proszę o porady co trzeba zmienić lub ustawić ponieważ jest mi to niezbędne do pracy

Pozdrawiam,
Go to the top of the page
+Quote Post
wookieb
post 11.03.2010, 16:16:00
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zwiększ do 128 i sprawdź czy czasem to ustawienie nie jest nigdzie nadpisywane.


--------------------
Go to the top of the page
+Quote Post
dresik
post 11.03.2010, 16:19:16
Post #3





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


hhmm z ciągłym zwiększaniem będzie problem bo muszę pisać maila z prośbą o zmianę do tej firmy gdzie mam hosting, ponieważ nie mam dostępu do tych ustawień.

Chyba, że apach musi sobie ustawienia pobrać ponownie czy tam przeładować.

Niby po wpisaniu phpinfo(); pisze ze jest 64M

Ten post edytował dresik 11.03.2010, 16:21:07
Go to the top of the page
+Quote Post
gothye
post 11.03.2010, 16:24:32
Post #4





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


  1. ini_set('memory_limit','128M');
winksmiley.jpg


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
dresik
post 11.03.2010, 16:53:17
Post #5





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


nie pomogło, dałem nawet 256M

i dalej ten sam komunikat

  1. Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 12288 bytes) in ...


próbowałem teraz zdjęcie które ma 1,37mb i dzieje się to samo ;/


proszę zobaczyć jeszcze na kod: (może jakieś stare funkcje użyte są w nim)
  1. function img_typ($name){
  2. $name = strtolower(substr($name, -4, 4));
  3. if($name == '.jpg' OR $name == 'jpeg') {return ".jpg";}
  4. elseif($name == '.gif') {return ".gif";}
  5. elseif($name == '.png') {return ".png";}
  6. }
  7.  
  8. function mini($in, $max_width, $max_height, $out, $jakosc){
  9. $typ = img_typ($in);
  10.  
  11. if ($typ == ".jpg") {$img_src = imagecreatefromjpeg($in);}
  12. elseif($typ == ".gif") {$img_src = imagecreatefromgif($in); }
  13. elseif($typ == ".png") {$img_src = imagecreatefrompng($in); }
  14.  
  15. $x = imagesx($img_src);
  16. $y = imagesy($img_src);
  17.  
  18.  
  19. if($x > $y) {
  20. $xr = ($x > $max_width)? $max_width/$x : 1;
  21. $yr = $xr;
  22. $move = 'y';
  23. }
  24. else {
  25. $yr = ($y > $max_height)? $max_height/$y : 1;
  26. $xr = $yr;
  27. $move = 'x';
  28. }
  29.  
  30. $new_x = $x*$xr;
  31. $new_y = $y*$yr;
  32.  
  33. $new_img = imagecreatetruecolOR($new_x, $new_y);
  34. $background = imagecolORallocate($new_img, 255, 255, 255);
  35.  
  36. imagefill($new_img, 0, 0, $background);
  37. imagecopyresampled($new_img, $img_src, 0, 0, 0, 0, $new_x, $new_y, $x, $y);
  38.  
  39. if ($typ == ".jpg") {imagejpeg($new_img, $out, $jakosc);}
  40. elseif($typ == ".png") { imagepng($new_img, $out, $jakosc);}
  41. elseif($typ == ".gif") { imagegif($new_img, $out); }
  42. } // end function mini


Ten post edytował dresik 11.03.2010, 17:11:34
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 07:17