<?php
/************************************************************************
 * This file is part of Windows Image Gallery.				*
 *									*
 * Windows Image Gallery is free software:				*
 * you can redistribute it and/or modify				*
 * it under the terms of the GNU General Public License as published by	*
 * the Free Software Foundation, either version 3 of the License, or	*
 * (at your option) any later version.					*
 *									*
 * Windows Image Gallery is distributed in the hope that it will be	*
 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty	*
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the	*
 * GNU General Public License for more details.				*
 *									*
 * You should have received a copy of the GNU General Public License	*
 * along with Windows Image Gallery.					*
 * If not, see <http://www.gnu.org/licenses>.				*
 ************************************************************************/

function createThumbs( $pathToImages, $pathToThumbs, $thumbWidth ) 
{
  // open the directory
  $dir = opendir( $pathToImages );

  // loop through it, looking for any/all JPG files:
  while (false !== ($fname = readdir( $dir ))) {
    // parse path for the extension
    $info = pathinfo($pathToImages . $fname);
    // continue only if this is a JPEG image
    if ( strtolower($info['extension']) == 'jpg' ) 
    {

      //Check if the thumb already excisting
      if(!file_exists($pathToImages."thumbs/".$fname)) {

         // load image and get image size
         $img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
         $width = imagesx( $img );
         $height = imagesy( $img );

         // calculate thumbnail size
         $new_width = $thumbWidth;
         $new_height = floor( $height * ( $thumbWidth / $width ) );

         // create a new temporary image
         $tmp_img = imagecreatetruecolor( $new_width, $new_height );

         // copy and resize old image into new image 
         imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

         // save thumbnail into a file
         imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
       }
     }
   }
   // close the directory
   closedir( $dir );
}

// call createThumb function and pass to it as parameters the path 
// to the directory that contains images, the path to the directory
// in which thumbnails will be placed and the thumbnail's width. 
// We are assuming that the path will be a relative path working 
// both in the filesystem, and through the web for links
createThumbs($filePath, $filePaththumb, $thumb_width);
?>