Hey Everyone,
I chopped up this script from a couple of different sources & it works great, right now I’m just trying to add 2 more things. 1) Randomize the photos being called from the thumbs directory. 2) Create a better quality thumbnail (using 100).
I tried a couple of variations, but I may be placing the scripts in the wrong areas, or not writing them correctly. Here’s the clean version & if anyone can help add in the rest, would be really grateful:
[php]
<?php /* function: generates thumbnail */ function make_thumb($src,$dest,$desired_width) { /* read the source image */ $source_image = imagecreatefromjpeg($src); $width = imagesx($source_image); $height = imagesy($source_image); /* find the "desired height" of this thumbnail, relative to the desired width */ $desired_height = floor($height*($desired_width/$width)); /* create a new, "virtual" image */ $virtual_image = imagecreatetruecolor($desired_width,$desired_height); /* copy source image at a resized size */ imagecopyresized($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height); /* create the physical thumbnail image to its destination */ imagejpeg($virtual_image,$dest); } /* function: returns files from dir */ function get_files($images_dir,$exts = array('jpg')) { $files = array(); if($handle = opendir($images_dir)) { while(false !== ($file = readdir($handle))) { $extension = strtolower(get_file_extension($file)); if($extension && in_array($extension,$exts)) { $files[] = $file; } } closedir($handle); } return $files; } /* function: returns a file's extension */ function get_file_extension($file_name) { return substr(strrchr($file_name,'.'),1); } ?>[/php]
[php]
<?php /** CALL INTO PHOTO GALLERY DIRECTORY AND FOR EACH IMAGE, CREATE HYPERLINK AND DISPLAY ON WEBSITE**/ $images_dir = "PATHTOIMAGES/"; $thumbs_dir = "PATHTOIMAGES/thumbs/"; $thumbs_width = 300; /** generate photo gallery **/ $image_files = get_files($images_dir); if(count($image_files)) { $index = 0; foreach($image_files as $index=>$file) { $index++; $thumbnail_image = $thumbs_dir.$file; if(!file_exists($thumbnail_image)) { $extension = get_file_extension($thumbnail_image); if($extension) { make_thumb($images_dir.$file,$thumbnail_image,$thumbs_width); } } echo '[/php]