<?php
  if($_SERVER['argc'] < 4){
    exit("Wywołanie: php skalowanie.php nazwa_obrazu wysokość szerokość");
  }

  $nazwa_zrodlowa = $_SERVER['argv'][1];
  $szerokosc_docelowa = $_SERVER['argv'][2];
  $wysokosc_docelowa = $_SERVER['argv'][3];

  if(!file_exists($nazwa_zrodlowa)){
    exit("Nie ma takiegopliku: $nazwa_zrodlowa");
  }

  if(!$img_src = imagecreatefromjpeg("$nazwa_zrodlowa"))
    exit("Nie udało się wczytać pliku $nazwa_zrodlowa.\n");

  $szerokosc = imagesx($img_src);
  $wysokosc = imagesy($img_src);

  if(!$img_dest = imagecreatetruecolor($szerokosc_docelowa, $wysokosc_docelowa))
    exit("Nie udało się utworzyć nowego obrazu.\n");

  if(!imagecopyresampled($img_dest, $img_src, 0, 0, 0, 0, $szerokosc_docelowa, 
                         $wysokosc_docelowa, $szerokosc, $wysokosc))
    exit("Nie udała się operacja skalowania.");

  $nazwa_docelowa = substr($nazwa_zrodlowa, 0, count($nazwa_zrodlowa) - 5);
  $nazwa_docelowa .= "-resized.jpg";

  if(!imagejpeg($img_dest, $nazwa_docelowa))
    exit("Wystąpił błąd podczas zapisu pliku $nazwa_docelowa.");

  echo ("Operacja skalowania zakończona sukcesem!");

  imagedestroy($img_src);
  imagedestroy($img_dest);
?>
