Problem z biblioteką gd!

0

Cześć ;)!
Od kilku dni zmagam się z problemem z biblioteką GD ,otóż chciałbym ,żeby moje zdjęcie po rotacji skalowało się jeszcze do rozmiarów 800x600 ,lecz ta funkcja właśnie mi nie działa nie mam pojęcia o co może chodzić w bibliotece tej nie siedzę zbyt długo ,dlatego tutaj pisze ,bo pewnie znajdzie się jakiś doświadczony użytkownik obeznany z tą biblioteką!
Z góry dziękuje!

Zasada działania programu:

  • Rotacja obrazu,
  • Skalowanie obrazu do rozmiarów 800x600
  • Zapis obrazu do pliku

<?php
session_start();
$name = date('YmdHis'); //Nazwa pliku jako data
$allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png'); //formaty pliku
$size = 2097152; //Rozmiar pliku
$filename = "../../upload/$name.png"; //nazwa pliku

if (isset($_POST['submit']))
{
    if (isset($_FILES['upload']))
    {
        if(!in_array($_FILES['upload']['type'], $allowed) || ($_FILES['upload']['size'] > $size))
        {
            $error = $_SESSION['type'] = "<div id=warning>Wielkość pliku lub format jest niedozwolony!</br>Maksymalna wielkość pliku to 2MB</br>Dozwolone formaty to JPG i PNG</div>";
            header('Location: ../../add.php');
        }

        if(empty($error))
        {
            if (move_uploaded_file ($_FILES['upload']['tmp_name'], $filename))
            {
            	$exif = exif_read_data($filename);

            	if(isset($exif['Orientation']))
            	{
            		$orientation = $exif['Orientation'];
            	}

            	elseif(isset($exif['IFD0']['Orientation']))
            	{
            		$orientation = $exif['Orientation'];
            	}

            	else
            	{
            		$orientation = 0;
            	}

            	$img = imagecreatefrompng($filename);

            	switch($orientation)
            	{
            		case 3;
            		  imagerotate($img, 180, -1);
            		break;

            		case 6;
            		  imagerotate($img, -90, -1);
            		break;

            		case 8;
            		  imagerotate($img, -90, -1);
            		break;

            		case 0;
            		  imagerotate($img, 0, 0);
            		break;
            	}

                $image_width = imagesx($img);
                $image_height = imagesy($img);

                $scale_width = 800;
                $scale_height = 600;

                $scale_img = imagecreatetruecolor($scale_width, $scale_height);

                imagecopyresized("$scale_img, $img, 0, 0, 0, 0, $scale_width, $scale_height, $image_width, $image_height ");

            	imagepng($scale_img);

                $_SESSION['upload_done'] = "<div id=successful>Twoje zdjęcie zostało przesłane</div>";
                header('Location: ../../add.php');
            }
        }
    }     
} 
?>

0

A jaki jest błąd ? Pokaż zawartość pliku index.php.

0

Twój kod będzie działał tylko dla plików *.png bo takie funkcje zastosowałeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1