Created April 14 2001
PHP AutoMagic Gallery Listing
Why?
This is a small project driven by my desire to have a simple page I could drop into a folder full of images and get a clean, simple listing of the images, plus links to the images in a way that was somewhat attractive.
See it in action at https://artlung.com/images/
Feel free to use it -- just copy and paste the source below. use a filename that's the default file format that processes php. Usually index.php or index.php3. The script doesn't care either way.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "https://www.w3.org/TR/REC-html40/loose.dtd"> <html> <head> <title>a picture is worth a thousand words</title> </head> <body bgcolor="#ffffff"> <!-- I'm sorry, I include the height attribute in the table tag. --> <!-- it is the only thing which will prevent this page from validating --> <!-- @ https://validator.w3.org/ --> <table width="100%" height="94%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"> <?php if (!isset($i)) { // this first bit determines if the page got passed $i $directory = "./"; // this decides what directory we want to work on exec("ls -r $directory*.jpg", $contents); // list the jpegs (modify as appropriate) $i = 0; while (($contents[$i])) // this bit makes links for all the images { echo "<a href='./?i=$directory$contents[$i]'>$contents[$i]</a><br>\n"; $i++; } $noback=1; // if we're listing images, we don't want to go back } elseif (is_file($i)) { // is $i an image in the filesystem? this is important! $size = GetImageSize($i); // grabs the height and width tags, providing an html // fragment we will use later. best web practice is to // include height and width tags in your images // https://www.php.net/manual/en/function.getimagesize.php ?> <?php // and we finally write the html for the image. First the src, // then the height and width, and a pretty border. Season to taste. ?> <img src="<?php echo $i; ?>" <?php echo $size[3]; ?> alt="" border="5"> <?php // if $i is not a file, we may have url hacking, or a broken URL, // maybe from an emailed link? In any case, the [ main ] link // will take them the main directory listing where they // can get at your pictures. so maybe it's not as stupid // a program as it claims to be. ?> <?php } else { ?> <p> there's something wrong here.<br> unfortunately i'm a stupid program<br> and i don't know what the problem is.<br> <br> sorry. </p> <?php } ?> </td> </tr> <?php if ($noback==0) { ?> <tr> <td valign="bottom" align="center"> <small> <a href="./">[ main ]</a> </small> </td> </tr> <?php }; ?> </table> <!-- this by Joe Crawford, April 2001 https://www.artlung.com/ --> </body> </html>