<?php
/*Skrypt pochodzi z książki "PHP. 101 praktycznych skryptów"
  autor: Marcin Lis                    http://marcinlis.com*/
function resize_image($imgName, $size)
{
  if(!($img = imagecreatefromjpeg($imgName))){
    echo("Nie mogę otworzyć pliku: $imgName");
    return false;
  }

  $img_w = imagesx($img);
  $img_h = imagesy($img);

  $ratio = $img_w / $img_h;

  if($ratio > 1){
    $new_img_w = $size;
    $new_img_h = ($size / $ratio);
  }
  else{
    $new_img_w = ($size * $ratio);
    $new_img_h = $size;
  }

  $tempImg = imagecreatetruecolor($new_img_w, $new_img_h);
  imagecopyresampled($tempImg, $img, 0, 0, 0, 0, 
  $new_img_w, $new_img_h, $img_w, $img_h);

  $name = substr($imgName, 0, strlen($imgName) - 4);
  $name = $name."-resized.jpg";

  imagejpeg($tempImg, $name);
}

if($argc != 3){
  echo("Wywołanie skryptu: skrypt.php nazwa_obrazu.jpg rozmiar");
  exit;
}
if(!is_numeric($argv[2]) || $argv[2] < 1){
  echo("Docelowy rozmiar musi być wartością całkowitą większą od 0.");
  exit;
}
resize_image($argv[1], $argv[2]);
?>