Support a good cause, and get this gallery for free!
Donate a minimum of £10 to the CF Trust and I will send you the gallery when requested.
Use your own name. No anonymous donations accepted. Proof of donation required.

Quick Gallery - The Instant PHP Photo Gallery

Quick PHP Photo Gallery - instant setup and all in one file - works directly from a folder
About Instructions FAQ Get it!

Photo Albums from folders in an instant with just one file

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

" Fantastic gallery. So easy to set up. I just add the file to my photo uploads and my holiday album is done! "
James
" What a brilliantly easy way to show off my favourite holiday pics. Well worth the fiver... :) "
Laura
" I love it. So simple, yet an elegant solution. Can't wait for what you add to it next... "
Robert
Get a free Giffgaff Sim

Gallery Features (the short list)

Requirements (Can I use this?)

To make use of the gallery you require the following:

  • A webhost or your own "localhost" web server (need a host? try here)
  • PHP installed on the server
  • GD (image library) installed with your PHP
  • FTP or direct access to the folders you want to put the images in
  • A text editor to change the configuration values
  • spare 5 quid

Gallery Overview (What's the point?)

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!

Gallery Options (What can you control?)

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.

" I'm so happy with it that I've sent another donation today. I could have saved a lot of time if I had known your script earlier. With Quick Gallery I have found a tool that gives me the advantage of flashlike presentation, but programmed totally with standard php and javascript, which shows in all browsers. The installation is simple and you as a photographer can fully focus on photography and leave the presentation to Quick Gallery. "
Didi
Tested on:
Quick Gallery has been tested on all major browsers
Quick Gallery works on the android browserQuick Gallery works on the iPhone browser
Quick Gallery works on Apache and uses PHP, GD and jQuery

Where are the old galleries?

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.

Get the Quick Gallery!

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.

Here's how (for Personal Users - or developers of a single site):

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.

Developers:

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)

or upgrade for £15

up to 10 sites: Please donate £40 (GBP)

or upgrade for £35

Unlimited sites: Please donate £60 (GBP)

or upgrade for £55



Why am I asking for donations?

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!


Need a new SIM? Think I have done a good job? Live in the UK?

Get a free Giffgaff Sim

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.


Need a host for all your photos?

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.

Quick Gallery Instructions

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!

Changing the options in code

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;',
        ),
      ),
    ),

Changing the Options in Admin

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)

Some od the admin options in the Quick Gallery

You can also set image titles, captions and author names for each image in the selected folder...

Title and caption setup in admin of Quick Gallery

Changing styles and images

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

Quick FAQ

How do I download the gallery?
You don't... send me your donation and I will send you the gallery. It's that simple!
Why are you asking for donations?
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!
What are those little boxes on the top right of the gallery?
Click them on the demo and find out!!!
Does it support sub folders?
Yes, it will automatically scan any subfolders and create galleries for you. You can also have different settings for them.
Can I put this inside my own website template?
Generally speaking, Yes. The gallery has an 'include mode' which works out relative paths and other important stuff to try to make the gallery work when you simply include the file within your own template in PHP.

If you wish to do this, and are struggling... just ask me for some simple instructions...
What do I need in order to make this work?
A Webserver with PHP and GD.
What PHP version does this work with?
This should be fine in both 5 and 4.
Do I need a database for this?
No, the point of the gallery is that it is a standalone single file that creates what you see in the demos from a folder of images.
How do I upload Images?
You can use your FTP client to upload whole albums as sub directories... they will be automatically created.

You can also use the admin interface to create albums and upload photos.
How can I change image titles?
You can change the image title's by either naming the files as you wish - or by using the admin interface to rename all of them. Here you can also set captions etc. This will create a php file inside the album that has an array with all the information in it.
Help, the thumbnails aren't showing!!!
Make sure you have GD installed with your PHP. if in doubt try running <?php phpinfo(); ?> to find out what you do have installed.
How do I login to the admin area?
There should be a little link at the bottom of the page thats says 'login'. once you have logged in, each page or folder will have a link at the bottom for 'setup'. Click that and you will see the admin area for thet folder.

If you do not see the link, make sure that admin login is enabled in the config.
Can I limit how many images are shown?
Yes, you can set a limit, and the gallery will create pages within each folder if you so wish.
Can I hide folders/albums?
Yes, you can define hidden albums with their paths in an array in the configuration.
If I'm including this in my site, will it mess with my layout?
No, all the css is defined in such a way that it can only affect the gallery itself. The javascript is separated, and you can turn of the gallery jQuery if you are already including your own.
When will the next release be?
Who knows? when I have done modifications and improved this in anyway, all of you will be emailed with the new file.

Demo

more pics
more pics
IMG%204085.jpg
IMG 4085
IMG%204120.jpg
IMG 4120
IMG%204127.jpg
IMG 4127
IMG%204128.jpg
IMG 4128
IMG%204171.jpg
IMG 4171
IMG%204223.jpg
IMG 4223
IMG%204224.jpg
IMG 4224
IMG%204226.jpg
IMG 4226
IMG%204290.jpg
IMG 4290
IMG%204292.jpg
IMG 4292
IMG%204293.jpg
IMG 4293
IMG%204306.jpg
IMG 4306
IMG%204327a.jpg
IMG 4327a
IMG%204333a.jpg
IMG 4333a
IMG%204526a.jpg
IMG 4526a
IMG%204532a.jpg
IMG 4532a
IMG%204555a.jpg
IMG 4555a
IMG%204569a.jpg
IMG 4569a
IMG%204579a.jpg
IMG 4579a
IMG%204580a.jpg
IMG 4580a