Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ładowanie kilku zdjęć na raz, przerwa w działaniu skryptu
siutek
post 16.01.2011, 02:15:10
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 26.10.2005
Skąd: Toruń

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


witam,
tworze ostatnio ostronke hostującą zdjęcia.
chcialem dać uzytkownikowi mozliwosc tworzenia galerii, w tym celu za jednym podejsciem uzytkownik wczytuje do formularza 8 zdjęć. Zakładam, że czasem znajdzie sie ktos, kto bedzie probował wgrac na serwer zdjecia, tak, jak je Bozia w aparacie stworzyla, czyli majace ponad 2000px szerokosci/wysokosci, a co za tym idzie ważące po 2-3MB. 8x3MB daje aż 24MB, więc jest to spora ilosc danych jak na upload przez www.

kiedy wgrywałem po 2, 3 zdjecia wszystko bylo ok, ale gdy dla testow wypelnilem cały formularz, czyli wskazalem 8 duzych fotek do pobrania, skrypt sie wyłożył. fotki są ładowane przez jakieś 7-8 minut, a następnie wyswietla mi sie zdekompletowana strona, czyli cały szkielet, logo, stopka, itp itd, ale juz bez tresci generowanej wewnatrz ponizszych warunkow.

aby sprawdzic jak daleko dociera skrypt wyswietlam na ekran kolejne kroki (cyferki).
i tak 3 jest wyswietlone, 4 też, ale 5 już nie, więc skrypt nie wchodzi do pętli foreach.

  1. }elseif($_GET['stp']==2){ //obsluga zaladowanych zdjec
  2. echo "3";
  3. if(is_array($_FILES)) {
  4. echo "4";
  5. foreach($_FILES as $fi) {
  6. $m++;
  7. echo "5";
  8. if(strlen($fi["name"])) {
  9. echo "6";
  10. $imgUpld = new upload($_FILES['imgFile'.$m], 'pl_PL');
  11.  
  12. if ($imgUpld->uploaded) {
  13. echo "7";
  14. $fileName = date("U")."_".md5($fi["name"]);
  15.  
  16. $imgUpld->image_convert = 'jpg';
  17. $imgUpld->allowed = array('image/*');
  18. $imgUpld->file_new_name_body = $fileName;
  19. $imgUpld->image_resize = true;
  20. $imgUpld->image_x = 700;
  21. $imgUpld->image_ratio_y = true;
  22. $imgUpld->process('./usersFiles/'.$_SESSION["usrLogin"].'/full/');
  23. if (!$imgUpld->processed) {
  24. $bigImgError = $imgUpld->error;
  25. }
  26.  
  27. $imgUpld->file_new_name_body = $fileName;
  28. $imgUpld->image_resize = true;
  29. $imgUpld->image_x = str_replace("px","",$_POST["thumbSize"]);
  30. $imgUpld->image_ratio_y = true;
  31. $imgUpld->process('./usersFiles/'.$_SESSION["usrLogin"]);
  32. if (!$imgUpld->processed) {
  33. $thumbError = $imgUpld->error;
  34. }
  35.  
  36. $imgUpld->file_new_name_body = $fileName."_thumb";
  37. $imgUpld->image_resize = true;
  38. $imgUpld->image_x = 100;
  39. $imgUpld->image_ratio_y = true;
  40. $imgUpld->process('./usersFiles/'.$_SESSION["usrLogin"]);
  41. if (!$imgUpld->processed) {
  42. $thumbError = $imgUpld->error;
  43. }
  44.  
  45. $imgUpld->Clean();
  46. }
  47. wrzucDoBazy("galleria",array("fileName"=>$fileName.".jpg","usrId"=>$_SESSION["id"],"create_date"=>date("U"),"galId"=>$galid));
  48. $idFotki = mysql_insert_id();
  49. if(!$galid) {
  50. zaktualizuj wiersz("gallery",array("id"=>$idFotki,"galId"=>$idFotki));
  51. $galid=$idFotki;
  52. }
  53.  
  54. $link.="<textarea style='height:15px;width:410px;font-size:11px;border: 1px solid #252525;color:#FFA800;background-color:#000000;'>http://www.mojastronka.pl/fota.php?fi=".base64_encode($idFotki)."</textarea><br>";
  55. $kod.="<img src='http://www.mojastronka.pl/fota.php?fi=".base64_encode($idFotki)."' vspace=5><br>";
  56. $kod2.="<img src='http://www.mojastronka.pl/fota.php?fi=".base64_encode($idFotki)."&s=0' vspace=5><br>";
  57. $wys++;
  58.  
  59. unset($fileName,$idFotki);
  60. }//zamkniecie strlena
  61. }//zamkniecie foreach
  62. }//zamkniecie if(is_array($_FILES))
  63. if($_POST["viewTyp"]==1){
  64.  
  65. $bottomBox = "<tr><td colspan=2 align=center>
  66. ".$kod2."
  67. </td></tr>
  68. <tr><td colspan=2 class=\"td5\"></td></tr>";
  69.  
  70. $cont.= "<br>Linki do zdjęć:<br>".$link."Skopiuj powyższy kod i wstaw w odpowiednie miejsce.";
  71. $cont.= "<br>Kod HTML:<br><textarea style='height:".(15*$wys)."px;width:410px;font-size:11px;border: 1px solid #252525;color:#FFA800;background-color:#000000;'>".$kod."</textarea><br>";
  72. $cont.= "<br><br><input type='button' value='zakończ' style='width:120px;' onClick=\"document.location.href='./index.php?page=log';\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='button' value='dodaj kolejne' style='width:120px;' onClick=\"document.location.href='http://mojastronka.pl/index.php?page=uploadImg&stp=1';\">&nbsp;<input type='button' value='dodaj galerię' style='width:120px;' onClick=\"document.location.href='http://mojastronka.pl/index.php?page=createGallery&stp=1';\">";
  73.  
  74. } elseif ($_POST["viewTyp"]==2) {
  75.  
  76. wrzucDoBazy("galeria",array("fileName"=>$fileName.".jpg","usrId"=>$_SESSION["id"],"zoom"=>1,"create_date"=>date("U")));
  77. $idFotki = mysql_insert_id();
  78.  
  79. $cont = "<a href='./usersFiles/".$_SESSION["usrLogin"]."/full/".$fileName.".jpg'><img src='./usersFiles/".$_SESSION["usrLogin"]."/".$fileName.".jpg' border=0></a>";
  80. $cont.= "<br>Link do miniaturki:<br><textarea style='height:15px;width:410px;font-size:11px;border: 1px solid #252525;color:#FFA800;background-color:#000000;'>http://www.mojastronka.pl/fota.php?fi=".base64_encode($idFotki)."</textarea>Link do zdjęcia w pełnym rozmiarze:<br><textarea style='height:15px;width:410px;font-size:11px;border: 1px solid #252525;color:#FFA800;background-color:#000000;'>http://www.mojastronka.pl/imgBig.php?fi=".base64_encode($idFotki)."</textarea><br>Kod HTML:<br><textarea style='height:45px;width:410px;font-size:11px;border: 1px solid #252525;color:#FFA800;background-color:#000000;'><a href='http://www.mojastronka.pl/imgBig.php?fi=".base64_encode($idFotki)."'><img src='http://www.mojastronka.pl/fota.php?fi=".base64_encode($idFotki)."' border=0></a></textarea><br>Skopiuj powyższy kod i wstaw w odpowiednie.";
  81. $cont.= "<br><br><input type='button' value='zakończ' style='width:120px;' onClick=\"document.location.href='./index.php?page=log';\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='button' value='dodaj kolejne' style='width:120px;' onClick=\"document.location.href='http://mojastronka.pl/index.php?page=uploadImg&stp=1';\">&nbsp;<input type='button' value='dodaj galerię' style='width:120px;' onClick=\"document.location.href='http://mojastronka.pl/index.php?page=createGallery&stp=1';\">";
  82.  
  83. }
  84. }


nie zwracajcie uwagi na sume {}, kod byl wyciety z dosc pokaznego pliku, i w klamrach ktorych tu nie ma, znajdowaly sie nie istotne dla sprawy opisy.

Niestety strona nie wyswietla żadnych błędów, pomimo ustawienia error_reporting(E_ALL);, niby wszystko jest ok, bo gdyby jednak coś się wyłożyło, to serwer zwróciłby mi strone z nagłowkiem, ale już bez stopki prawda? strona lezy na serwerach DreamHost.

delikatnie mowiac... HELP?
P.S. set_time_limit ustawiony na 600, czyli 10 minut. program wyklada sie po 7...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
maniutek08
post 17.01.2011, 22:33:39
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 23.08.2009

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


A max_post_size questionmark.gif
Go to the top of the page
+Quote Post
michal_robak
post 17.01.2011, 22:39:31
Post #3





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


a spróbuj wrzucić na samą górę skryptu linijkę:

  1. ini_set('memory_limit', '-1');


Ten post edytował michal_robak 17.01.2011, 22:40:40


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
erix
post 17.01.2011, 23:48:11
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. new upload

Co to za klasa? Jeśli bazująca na GD, to się nie dziw... Jw: większy limit pamięci.

Tak btw, przesiądź się czym prędzej na ImageMagick.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
sharp156
post 3.07.2011, 00:20:00
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.06.2011
Skąd: poznań

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


wrzuc sobie te wartosci w skrypt wykonujacy upload na samym poczatku . moze problem lezy w ystawieniach php masz opisane wiec zlapiesz co chce powiedziec:
ini_set('memory_limit', '64M'); // limit pamięci dla wykonywanego skryptu, w megabajtach
ini_set('post_max_size', '32M'); // upload_max_filesize + dane z wszelkich innych pól formularza, w megabajtach
ini_set('upload_max_filesize', '32M'); // wielkość przesyłanych plików, w megabajtach
ini_set('session.gc_maxlifetime', '5400'); // czas wykonywania skryptu w sekundach, 90 minut
Go to the top of the page
+Quote Post
morbic
post 3.07.2011, 00:33:39
Post #6





Grupa: Zarejestrowani
Postów: 116
Pomógł: 29
Dołączył: 13.12.2010
Skąd: Warszawa

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


Odświeżanie tematu po pół roku co_jest.gif

Pomijam fakt, że limit pamięci podany w przykładzie kolegi jest o połowę mniejszy niż w domyślnym php.ini. A session.gc_maxlifetime wcale nie jest limitem czasu wykonywania skryptu.

Odsyłam do dokumentacji PHP: http://www.php.net/manual/pl/session.confi....gc-maxlifetime


--------------------
"Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
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: 24.07.2025 - 16:35