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); } } ?> Quote 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 Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.