<?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);
?>
