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>