mousepad Posted September 30, 2007 Share Posted September 30, 2007 Hello! I have a folder of thumbnail images that I would like to display in an image gallery at random. I am using the php script below to serve the images. It works well for generating one random image, but if I use the same script it will repeat the same random image. My index looks something like this: <p> <img src="/gallery.php/" alt="Members Gallery" /> <img src="/gallery2.php/" /> <img src="/gallery3.php/" /> <img src="/gallery4.php/" /> </p> galleries 2, 3 4 are the same as gallery.php just copied into different files. This is the only solution I could figure out to generate several random images. If someone could figure out how to do this within one script I would be greatly indebted. Thanks! /* gallery.php */ <?php $folder = '/folderwiththumbimages/'; $extList = array(); $extList['gif'] = 'image/gif'; $extList['jpg'] = 'image/jpeg'; $extList['jpeg'] = 'image/jpeg'; $extList['png'] = 'image/png'; $img = null; if (substr($folder,-1) != '/') { $folder = $folder.'/'; } if (isset($_GET['img'])) { $imageInfo = pathinfo($_GET['img']); if ( isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) && file_exists( $folder.$imageInfo['basename'] ) ) { $img = $folder.$imageInfo['basename']; } } else { $fileList = array(); $handle = opendir($folder); while ( false !== ( $file = readdir($handle) ) ) { $file_info = pathinfo($file); if ( isset( $extList[ strtolower( $file_info['extension'] ) ] ) ) { $fileList[] = $file; } } closedir($handle); if (count($fileList) > 0) { $imageNumber = time() % count($fileList); $img = $folder.$fileList[$imageNumber]; } } if ($img!=null) { $imageInfo = pathinfo($img); $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ]; header ($contentType); readfile($img); } else { if ( function_exists('imagecreate') ) { header ("Content-type: image/png"); $im = @imagecreate (100, 100) or die ("Cannot initialize new GD image stream"); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 0,0,0); imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color); imagepng ($im); imagedestroy($im); } } ?> Link to comment https://forums.phpfreaks.com/topic/71297-random-img-gallery-i-have-the-script-but-how-to-extend-it/ Share on other sites More sharing options...
mousepad Posted October 1, 2007 Author Share Posted October 1, 2007 Obviously I didn't read the guidelines before posting. k sorry MOD Link to comment https://forums.phpfreaks.com/topic/71297-random-img-gallery-i-have-the-script-but-how-to-extend-it/#findComment-359340 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.