Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Tworzenie miniatur dla dużych obrazów
radziowie
post 26.11.2010, 22:11:05
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Mam kod:
  1. if (is_uploaded_file($_FILES['zdjecie']['tmp_name']))
  2. {
  3. move_uploaded_file($zdjecie_tmp, "../upload/galeria/$zdjecie_nazwa");
  4. echo "Plik: <strong>$zdjecie_nazwa</strong> o rozmiarze
  5. <strong>$zdjecie_rozmiar kB</strong> został przesłany na serwer!";
  6. $zapytanie = "INSERT INTO zdjecia VALUES (NULL, '".$zdjecie_nazwa."', '".$opis."', '".$id_kat."')";
  7. $result = mysql_query($zapytanie);
  8.  
  9. //nie tworzy miniaturek dla wiekszych rozdzielczości
  10. $sp = explode(".", $zdjecie_nazwa);
  11. if($sp[1] == "jpeg")
  12. {
  13. $img = imagecreatefromjpeg("../upload/galeria/".$zdjecie_nazwa."");
  14. }
  15. elseif($sp[1] == "png")
  16. {
  17. $img = imagecreatefrompng("../upload/galeria/".$zdjecie_nazwa."");
  18. }
  19. elseif($sp[1] == "jpg")
  20. {
  21. $img = imagecreatefromjpeg("../upload/galeria/".$zdjecie_nazwa."");
  22. }
  23. elseif($sp[1] == "gif")
  24. {
  25. $img = imagecreatefromgif("../upload/galeria/".$zdjecie_nazwa."");
  26. }
  27. else
  28. {
  29. echo 'Zły format obrazka';
  30. }
  31. $width = imagesx($img);
  32. $height = imagesy($img);
  33.  
  34. $width_mini = 120;
  35. $height_mini = 120;
  36. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  37.  
  38. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini ,
  39.  
  40. $height_mini, $width , $height);
  41.  
  42.  
  43.  
  44.  
  45. imagejpeg($img_mini, "../upload/galeria/mini/".$zdjecie_nazwa."", 80);
  46. imagedestroy($img);
  47. imagedestroy($img_mini);
  48.  


I sie zastanawiam, bo skrypt tworzy miniatury np. dla plików o rozdzielczości 800x600 a gdy wstawie jakiś obrazek o rozdzielczości ponad 2500x cos tam to wywala mi błąd:
Kod
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 10368 bytes) in C:\Program Files (x86)\WebServ\httpd-users\praca\admin\zdjecia.php on line 100

Moje pytanie brzmi w czym tkwi problem? Czy to wina serwera czy moja?
Go to the top of the page
+Quote Post
vonski
post 26.11.2010, 22:21:35
Post #2





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

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


Spróbuj

  1. ini_set("memory_limit", "15M");


Drugi argument (ilość megabajtów) może być większa / mniejsza w zależności od twoich potrzeb.

Ten post edytował vonski 26.11.2010, 22:24:30


--------------------
Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
Go to the top of the page
+Quote Post
radziowie
post 27.11.2010, 13:47:38
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Nic z tego. Te same błędy.
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: 7.07.2025 - 22:43