<?php
/*Skrypt pochodzi z książki "PHP. 101 praktycznych skryptów"
  autor: Marcin Lis                    http://marcinlis.com*/
function resize_image($src_dir, $dest_dir, $imgName, $size)
{
  if(!($img = imagecreatefromjpeg($src_dir.$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);
  imagecopyresized($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, $dest_dir.$name);
}
function resize_dir_images($src_dir, $dest_dir, $size)
{
  if($src_dir == $dest_dir) return false;
  if(!($fd = opendir($src_dir))) return false;

  while (($file = readdir($fd)) !== false){
    if($file != "." && $file != ".."){
      resize_image($src_dir, $dest_dir, $file, $size);
    }
  }
  closedir($fd);
}
resize_dir_images("./images/", "./images_2/", 800);
?>
