A simple and quick to implement PHP folder gallery. No setup required for basic operation - just put my index.php in a folder with images and the rest is taken care of - including any subfolders... Read the FAQ
To make use of the gallery you require the following:
I have created the "quick gallery" - a PHP photo gallery - so that creating new photo galleries on your webserver would be as painless as possible.
The whole gallery consists of just one file, which can be put in a directory with your photos and the rest is automatically taken care of for you.
Have a look at the demo and the instructions to see how easy it is!
Themes, Thumbnails, Titles and Captions as well as File Sorting...
Album specific Password Protection, Rounded corners and shadows, EXIF info, Slideshow and Paging.
Default Album images or folder icons, breadcrumbs, backlinks...
Admin interface that lets you set album specific options and modify captions etc as well as uploading images and creating albums.


Unfortunately, the older galleries are no longer available for download.
If you have donated towards any of the gallery projects, and would like to have the files again, please contact me.
This gallery is not available to the wider public.
If you like the gallery and would like to have it for your own use, and support the development of it; please donate £5 and you will be sent the gallery file. (Developers please see below)
Please make sure you have read the requirements on the about page so you know you can use this in your setup.
Step 1: Donate £5 (GBP) - about 6 EUR / 8 USD Alternative UK method below
Step 2: Get the Gallery File emailed to you personally by me
Step 3: Enjoy the Gallery!
Step 4: Get automatically included in mailing list for gallery updates.
Optional: Step 5: Once you realise how great this thing really is, you may, like a few kind souls already have, feel the sudden urge to donate more. Please do!
Please note, if you have previously donated to any of my gallery projects, you are entitled to receive this gallery without further donation. Please contact me and tell me what email address you donated from.
If you are a developer profiting from my work, all I ask for is a little bit bigger donation from you. Let's face it, it's an easy option for you and it's only going to be probably a fraction of a percent of what you are charging for those sites anyway...
up to 5 sites: Please donate £20 (GBP)
up to 10 sites: Please donate £40 (GBP)
Unlimited sites: Please donate £60 (GBP)
I used to give away both of my galleries for free. However, after tens of thousands of downloads, lots of overassuming support demands and just a handful of thank yous... I decided that I no longer wanted to work on those galleries or give them away to anyone. Sorry!
You can also support me by using giffgaff and ordering their SIM from my link. Check out their tariffs. Very good.
I am happy to consider this as your £5.00 donation. So if you don't mind waiting around for a few days to get the SIM and getting it activated (you'll need to top up), I will then send you the gallery when you contact me and confirm your details. In essence, you get £5.00 extra top up AND my gallery. Win Win.
If you need space for your photo collection, give these guys a go.
You get lots of space and data transfer; with a pretty decent price and you get a free domain with that too... check them out!
As a bonus, you are supporting the Quick Gallery if you use the link from this page.
Once you have your gallery index.php you just need to upload that with your photos to a directory on your webserver.
Here's all you need to do:
Step 1: Get the gallery file
Step 2: Upload the file with some photos to your web server
Step 3: Point your browser to it and enjoy your photos!
In the beginning of the index.php file there are several options you can set which define how the gallery behaves. Each line has a comment on it explaining what the setting does.
/*** Admin Security ***/ $galleryUsername = "username"; // This is your admin username $galleryPassword = "password"; // This is your admin password $loginEnabled = false; // allow login to the gallery admin $showLoginLink = false; // show the login link? /*** password protection? ***/ 'username' => "", // leave empty to allow normal access - can be overridden in the config.php file array for each folder 'password' => "", // leave empty to allow normal access - can be overridden in the config.php file array for each folder
/*** appearance ***/ 'selectedTheme' => "black", // white, black, simple or simpledark 'imgSize' => "medium", // small, medium or large 'showThemeChanger' => true, // show links to change theme 'showImageSizeOptions' => true, // show links to select thumbnail size 'show_breadcrumbs' => true, // show links to folders when browsing 'show_backlink' => true, // show first item in gallery as back link when in subfolder 'showShadows' => true, // use css3 shadows 'showRoundedBorders' => true, // use css3 border radius 'showRoundedViewerBorders' => true, // use css3 border radius on viewer /*** viewer options ***/ 'displayAuthor' => true, // show author name on imagas (true or false) 'displayImgName' => true, // show image names (file extensions will be removed and "_" replace by " ") 'exif' => false, // show link for showing EXIF info 'opacity'=>'0.8', // opacity of the overlay 'slideshow' => true, // use the slideshow feature 'slideShowDuration' => '6000', // time in milliseconds between each slide 'borderSize'=>'10', // padding around the image in the viewer 'resizeSpeed'=>'400', // time in milliseconds for duration of viewer resize /*** image and folder thumbnails ***/ 'allowDefaultFolderImages' => true, // this makes the gallery read "folder.txt" file in the subfolder. it should only contain the filename you want to use as the folder image 'useFirstAsFolderImage' => false, // this makes the script find the first image in the subfolder and use it as the folder image 'cachequality' => 75, // quality of thumbnails and cached images 'cachethumbs' => true, // save the thumbnails (loads faster after first load - requires wrtie permission to cachefolder) 'cachefolder' => "thumbs", // this is the folder the script will create and save thumbs in 'filesort' => "asc", // file sorting asc or desc 'foldersort' => "asc", // folder sorting asc or desc 'ordernumber_separator' => "__", // order images with numbers in front of this (removes from title) /*** text options ***/ 'gallery_page_title' => "Gallery", // title displayed in browser window and on top of page 'defaultAuthor' => "", // Default Author of all images - you can leave this blank 'not_found_msg' => "No Images found in this album...", // text shown when nothing found 'not_folder_msg' => "Requested album does not exist...", // text shown when folder not found 'login_required' => "Viewing this album requires logging in...", // text shown when folder requires login /*** Paging ***/ 'paging' => true, // divide into pages and show page numbers 'limit' => 100, // limit of items to show per page (10,15,20,25,30...) 'displayLinksTop' => false, // show the paging links on top of gallery 'displayLinksBottom' => true, // show the paging links on bottom of gallery 'showpages' => '5', // 1,3,5,7,9... // how many page numbers to show in list at a time 'jsViewerFolderAll' => true, // let the javascript viewer link to all images in folder... not just visible pics on current page /*** misc ***/ 'accepted_img' => array( 'jpg', 'jpeg', 'gif', 'png' ), // image extensions of allowed images types 'charset' => "ISO-8859-1", // charset of the page - html header 'pagelang' => "en", // language of the page - html header 'timeZone' => 'Europe/London', // for PHP - required /*** admin options ***/ 'allowImageUpload' => true, 'allowImageDelete' => true, 'allowAlbumCreation' => true, 'allowAlbumDelete' => true,
/*** Gallery Setup ***/ $galleryfolder = ""; // sub directory where images are (MUST END IN / - or leave empty for same dir) $includemode = false; // if you are including it in site use true else use false $includeJQuery = false; // set to false if the page you are including this on already has jQuery $urlinclude = ""; // when using something in url to display gallery add it here like "page=gallery&"
$thumbSizes = array(
'large' => array("width"=>200,"height"=>133),
'medium' => array("width"=>140,"height"=>93),
'small' => array("width"=>100,"height"=>66),
);
/*** Theme example ***/
'black'=> array(
'name'=>'Black Theme',
'show'=>true,
'theme-color'=>'#000',
'background-color'=>'#000',
'overlay-background-color'=>'#000',
'viewer-background-color'=>'#fff',
'viewer-border-radius'=>'10px',
'font-family'=>"'Century Gothic','Trebuchet MS',Verdana,Arial",
'text-color'=>'#fff',
'header-text-color'=>'#bbb',
'header-link-hover'=>'#fff',
'footer-text-color'=>'#666',
'paging-link-text-color'=>'#aaa',
'item-background-color'=>'#000',
'item-background-image'=>'gallery-img-bg-black',
'item-text-color'=>'#888',
'item-border'=>'1px solid #888888',
'item-shadow'=>'255,255,255',
'item-shadow-opacity'=>'0.3',
'button-next'=>'next',
'button-prev'=>'prev',
'loading-icon'=>'ajax-loading',
'img-name-display-inside'=>true,
'size-specific' => array(
'small'=> array(
'item-margin'=>'0 15px 15px 0',
'item-padding'=>'6px',
'item-font-size'=>'8px',
'item-border-radius'=>'5px',
'item-shadow-position'=>'4px 4px 6px 0px',
'item-image-shadow-position'=>'0px 0px 0px 0px',
'title-shown-inside'=>'padding-top:4px',
'title-shown-outside'=>'padding-bottom:4px;',
),
'medium'=> array(
'item-margin'=>'0 20px 20px 0',
'item-padding'=>'8px',
'item-font-size'=>'10px',
'item-border-radius'=>'8px',
'item-shadow-position'=>'4px 6px 8px 0px',
'item-image-shadow-position'=>'0px 0px 0px 0px',
'title-shown-inside'=>'padding-top:6px',
'title-shown-outside'=>'padding-bottom:6px;',
),
'large'=> array(
'item-margin'=>'0 30px 30px 0',
'item-padding'=>'10px',
'item-font-size'=>'12px',
'item-border-radius'=>'10px',
'item-shadow-position'=>'4px 8px 10px 0px',
'item-image-shadow-position'=>'0px 0px 0px 0px',
'title-shown-inside'=>'padding-top:8px',
'title-shown-outside'=>'padding-bottom:8px;',
),
),
),
If you have the admin login enabled and are logged in, each folder will have a "setup" link at the bottom of the page.
By clicking this you can access the setup for the folder in question.
You can adjust the following setup values via the admin system per folder (these will override the default values setup in the index.php file)
You can also set image titles, captions and author names for each image in the selected folder...
The styling is standard CSS, created by simple PHP to control the colour selection.
If you want to edit this, go ahead - have fun...
You may have noticed that there are background images and little icons and arrows etc, magically appearing in the gallery.
You will find that all the images are embedded in the gallery file as base64 encoded strings. The images are stored in an array. Each image name has become the array key for that image.
The URL for each image becomes "?img=name"
You can of course change these images by overwriting existing keys or add new images if you want to modify the code. To do this you will need to base64 encode the images and add them in to the array.
You can download the image encoding tool which I made for creating the lines in the image array