Z tego co mi wiadomo serwer na wykonanie jednego skryptu ma 30 sekund i dlatego stwarza to pewne problemy.
Planuje do mojego formularza dodać możliwość uploadu zdjęć w ilości większej niż 1.
Zatem jeżeli dam możliwość uploadu max 5 zdjęć i jeżeli user będzie wgrywał jednocześnie 5 zdjęć to wtedy serwer nie wyrobi się w czasie (wszystko zależy od łącza oczywiście, ale zakładam czarny scenariusz).
A zatem moje pytanko brzmi jak ten problem rozwiązać ?
Oto kod formularza:
<? function f_rand($ile) { for ($i=1; $i<=$ile; $i++) return $l_rand; } function resize($foto, $szerokosc, $folder, $napis) { $fotos = "./tmp/".$foto; $mini = $folder."/".$foto; $img = imagecreatefromjpeg($fotos); $width = imagesx($img); // szerokosc jpga $height = imagesy($img); // wysokosc jpga if ($width > $szerokosc || $height > $szerokosc){ //poziomy / szerokosc if ($width>=$height) {$width_mini = $szerokosc; $x = $width/$width_mini; $height_mini = $height/$x; $litery_wielkosc = $width/60;} //pionowy / wysokosc if ($width<$height) {$height_mini = $szerokosc; $x = $height/$height_mini; $width_mini = $width/$x; $litery_wielkosc = $height/60;} $img_mini = imagecreatetruecolor($width_mini, $height_mini); } else { $img_mini = $img; } $txt = $napis; $kolor_tla = imagecolorallocate ( $img, 255, 255, 255 ); imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width, $height); imagejpeg($img_mini, $mini, 100); @imagedestroy($img); @imagedestroy($img_mini); } } if ($_SESSION["zalogowany"]=="tak") { include('menu.php'); $tresc = $_POST['tresc']; //////////////////////////////////////// //ustawienie wielkosci zmniejszanych obrazow $w_1 = 175; $w_2 = 400; if ($_FILES){ foreach( $_FILES as $ul_plik ) { { $rand = f_rand(3); $new_name = $rand.".jpg"; $tmp_name = $ul_plik['tmp_name']; $name = $ul_plik['name']; resize($new_name,$w_1,"./img/mini/", ""); resize($new_name,$w_2,"./img/", ""); INSERT INTO ogloszenia (tytul, data, tresc, stan, rodzaj, marka, model, rocznik, miejsca, klimatyzacja, rejestracja,obrazek,cena) VALUES ('$tytul','$data','$tresc','$stan','$rodzaj','$marka','$model','$rocznik','$miejsca','$klimatyzacja','$rejestracja','$rand','$cena') "); } else { INSERT INTO ogloszenia (tytul, data, tresc, stan, rodzaj, marka, model, rocznik, miejsca, klimatyzacja, rejestracja,obrazek,cena) VALUES ('$tytul','$data','$tresc','$stan','$rodzaj','$marka','$model','$rocznik','$miejsca','$klimatyzacja','$rejestracja','nazwa','$cena') "); } } } echo " <br><div class=\"potwierdzenie\"><center>Ogłoszenie zostało dodane</center> </div>"; } echo <<<KONIEC <br> <form action="" method="post" enctype="multipart/form-data" class="uniForm"> <fieldset><legend>Dane Samochodu</legend> <div class="ctrlHolder"> <label for="foto">Dodaj zdjęcie do ogłoszenia:</label><br> <input type="file" name="foto"><br> <label for="marka">Podaj marke samochodu:</label> <input type="text" name="marka" style="width:100%;" class="textInput small" /> <label for="model">Podaj model samochodu:</label> <input type="text" name="model" style="width:100%;" class="textInput small" /> <label for="rocznik">Podaj rocznik samochodu:</label> <input type="text" name="rocznik" style="width:100%;" class="textInput small" /> <label for="miejsca">Podaj ilość miejsc siedzących:</label> <input type="text" name="miejsca" style="width:100%;" class="textInput small" /> <label for="klimatyzacja">Klimatyzacja:</label><br> <select id="" name="klimatyzacja"><optgroup label='Wybierz jedną opcję'><option value='TAK'>TAK</option><option value='NIE'>NIE</option></optgroup></select><br> <label for="rejestracja">Podaj rejestracje samochodu*:</label> <input type="text" name="rejestracja" style="width:100%;" class="textInput small" /> </div></fieldset> <fieldset><legend>Ogłoszenie</legend> <div class="ctrlHolder"> <label for="tytul">Podaj tytuł ogłoszenia:</label> <input type="text" name="tytul" style="width:100%;" class="textInput small" /> <label for="model">Podaj date ogłoszenia:</label> <input type="text" name="data" style="width:100%;" class="textInput small" value="$data" /> <label for="rocznik">Napisz treść ogłoszenia:</label><br> <textarea name="tresc" id="editor"></textarea><br> KONIEC; ?> <script type="text/javascript"> //<![CDATA[ CKEDITOR.replace( 'editor', { fullPage : true }); //]]> </script> <? echo <<<KONIEC <label for="cena">Podaj cene (zł):</label> <input type="text" name="cena" style="width:100%;" class="textInput small" /> </div></fieldset> <fieldset><legend>Informacje dodatkowe</legend> <div class="ctrlHolder"> <p class="label"> Wybierz rodzaj ogłoszenia, oraz czy ma on zostać wyświetlony na stronie </p><table width="100%"> <tr><td align="middle"><ul class="alternate"> <li><label for="rodzaj" align="top">Rodzaj <select id="" name="rodzaj"><optgroup label='Wybierz jedną opcję'><option value='wynajem_autobusow'>Wynajem autobusów</option><option value='wynajem_busow'>Wynajem busów</option><option value='sprzedaz_busow'>Sprzedaż busów</option><option value='transport_ludzi'>Transport ludzi</option></optgroup></select></label></li></td><td align="middle"> <li><label for="stan" align="middle">Stan <select id="" name="stan"><optgroup label='Aktualne'><option value='1'>Ogłoszenie widoczne</optgroup><optgroup label='Wybierz jedną opcję'><option value='1'>Ogłoszenie widoczne</option><option value='0'>Ogłoszenie niewidoczne</option></optgroup></select></label></li> </ul></td></tr></table> </div></fieldset> <div class="buttonHolder"> <input type="submit" value=" wyślij" class="primaryAction" /> </div> KONIEC; } else { echo "<div class=\"potwierdzenie\"><center>Proszę się zalogować!</center> </div>"; } ?>