Skrypt przetwarza wysyłane zdjęcie i dodaje go w dwóch rozmiarach (jedno normalne drugie miniaturka) do katalogu galeria. Wszystko działa poprawnie do czasu gdy użytkownik nie doda pod rząd np: 10 zdjęć o rozmiarze 2-3 MB wyskakuje wówczas błąd skryptu w którym brakuje pamięci serwera.
Zwiększyłem już limit za pomocą
CODE
ini_set ( "memory_limit", "128m");
jednak rozwiązało to problem na krótko i błąd znów zaczął się pokazywać.
Czy jest jakaś metoda na optymalizację tego kodu lub czyszczenie pamięci serwera przed rozpoczęciem wykonywania skryptu??
CODE
if(isSet($_POST[dodaj_zdj])){
$plik_tmp = $_FILES['foto']['tmp_name'];
$plik_nazwa = $_FILES['foto']['name'];
$plik_rozmiar = $_FILES['foto']['size'];
$sp = explode(".",$plik_nazwa);
$count_sp = count($sp) - 1;
if($sp[$count_sp] == "gif" or $sp[$count_sp] == "jpg" or $sp[$count_sp] == "JPG") {
list($width, $height) = getimagesize($plik_tmp);
if($width>$height){
move_uploaded_file($plik_tmp, '../galeria/org/'.$plik_nazwa);
list($width, $height) = getimagesize('../galeria/org/'.$plik_nazwa);
$image_p = imagecreatetruecolor(640, 480);
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 640, 480, $width, $height);
imagejpeg($image_p,'../galeria/'.$plik_nazwa,80);
$image_p2 = imagecreatetruecolor('200', '150');
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p2, $image, 0, 0, 0, 0, '200', '150', $width, $height);
imagejpeg($image_p2,'../galeria/mini/'.$plik_nazwa,80);
$sql4 = "INSERT INTO galeria_zdj VALUES('$id', '$plik_nazwa', '$_POST[grupa]', 'h')";
if(!mysql_query($sql4))
{
echo("Wystąpił błąd: nieprawidłowe zapytanie1");
@mysql_close();
}
imagedestroy($image_p);
imagedestroy($image_p2);
unlink('../galeria/org/'.$plik_nazwa);
// unlink('../galeria/'.$plik_nazwa);
}elseif($height>$width){
move_uploaded_file($plik_tmp, '../galeria/org/'.$plik_nazwa);
list($width, $height) = getimagesize('../galeria/org/'.$plik_nazwa);
$image_p = imagecreatetruecolor(480, 640);
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 480, 640, $width, $height);
imagejpeg($image_p,'../galeria/'.$plik_nazwa,80);
$image_p2 = imagecreatetruecolor('150', '200');
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p2, $image, 0, 0, 0, 0, '150', '200', $width, $height);
imagejpeg($image_p2,'../galeria/mini/'.$plik_nazwa,80);
$sql4 = "INSERT INTO galeria_zdj VALUES('$id', '$plik_nazwa', '$_POST[grupa]', 'v')";
if(!mysql_query($sql4))
{
echo("Wystąpił błąd: nieprawidłowe zapytanie1");
@mysql_close();
}
imagedestroy($image_p);
imagedestroy($image_p2);
unlink('../galeria/org/'.$plik_nazwa);
}
}
}
$plik_tmp = $_FILES['foto']['tmp_name'];
$plik_nazwa = $_FILES['foto']['name'];
$plik_rozmiar = $_FILES['foto']['size'];
$sp = explode(".",$plik_nazwa);
$count_sp = count($sp) - 1;
if($sp[$count_sp] == "gif" or $sp[$count_sp] == "jpg" or $sp[$count_sp] == "JPG") {
list($width, $height) = getimagesize($plik_tmp);
if($width>$height){
move_uploaded_file($plik_tmp, '../galeria/org/'.$plik_nazwa);
list($width, $height) = getimagesize('../galeria/org/'.$plik_nazwa);
$image_p = imagecreatetruecolor(640, 480);
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 640, 480, $width, $height);
imagejpeg($image_p,'../galeria/'.$plik_nazwa,80);
$image_p2 = imagecreatetruecolor('200', '150');
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p2, $image, 0, 0, 0, 0, '200', '150', $width, $height);
imagejpeg($image_p2,'../galeria/mini/'.$plik_nazwa,80);
$sql4 = "INSERT INTO galeria_zdj VALUES('$id', '$plik_nazwa', '$_POST[grupa]', 'h')";
if(!mysql_query($sql4))
{
echo("Wystąpił błąd: nieprawidłowe zapytanie1");
@mysql_close();
}
imagedestroy($image_p);
imagedestroy($image_p2);
unlink('../galeria/org/'.$plik_nazwa);
// unlink('../galeria/'.$plik_nazwa);
}elseif($height>$width){
move_uploaded_file($plik_tmp, '../galeria/org/'.$plik_nazwa);
list($width, $height) = getimagesize('../galeria/org/'.$plik_nazwa);
$image_p = imagecreatetruecolor(480, 640);
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 480, 640, $width, $height);
imagejpeg($image_p,'../galeria/'.$plik_nazwa,80);
$image_p2 = imagecreatetruecolor('150', '200');
$image = imagecreatefromjpeg('../galeria/org/'.$plik_nazwa);
imagecopyresampled($image_p2, $image, 0, 0, 0, 0, '150', '200', $width, $height);
imagejpeg($image_p2,'../galeria/mini/'.$plik_nazwa,80);
$sql4 = "INSERT INTO galeria_zdj VALUES('$id', '$plik_nazwa', '$_POST[grupa]', 'v')";
if(!mysql_query($sql4))
{
echo("Wystąpił błąd: nieprawidłowe zapytanie1");
@mysql_close();
}
imagedestroy($image_p);
imagedestroy($image_p2);
unlink('../galeria/org/'.$plik_nazwa);
}
}
}