Snappy is a simple PHP Photo gallery. It has almost no dependencies (PHP 4.2 and GD2), works fine in safe mode and does not require any complicated setting up. Check out the Sample Gallery.


  • Simple, customisable photo gallery
  • Few requirements
  • Works in SAFE MODE
  • Automatically resizes pictures and creates thumbnails
  • Supports nested subdirectories


Index of an event, showing thumbnails


  • PHP 4.2 or above
  • GD2 Library


  • Unzip the contents of the archive into the base directory for your gallery (e.g. ~/public_html/photos)
  • Create directories beneath this directory to contain your photos (e.g. ~/public_html/photos/myholiday)
  • Ensure that the directory to hold the images is writeable by the webserver (e.g. chmod 777 ~/public_html/photos/myholiday)
  • Copy your photos into that directory, and ensure they are world-readable (e.g. chmod 744 ~/public_html/photos/myholiday/*)
  • View the page through your webserver, e.g.


  • The first time you view the photos for an event, the photos will be resized (if necessary) and thumbnails generated. This process can easily take longer than the max execution time set on the webserver. This is automatically detected by the page, which will stop and restart just before the execution time limit.
  • If the photos you put in are too big, they will be resized. The originals will be renamed myphoto.full.jpg, and a link will be made available to the full size copy. If you delete the full size copies to save space, the links will not show.

Known Bugs

  • Progressbar doesn't work in Mozilla Firebird. This is a reused class from

Future Work

  • Implement captions for photos
  • Implement recording number of times a photo is viewed
  • Store objects in session so page reloads are quicker


Download a zip file containing the files:


Change Log

10 Oct 2003 1.0.1 Added ability to add descriptions to events- add a description.txt in the event folder
08 Oct 2003 1.0 Initial Version