Coppermine Photo Gallery v1.5.x: Documentation and Manual

Table of Contents

About Coppermine

Coppermine Photo Gallery (CPG) is an advanced, user-friendly, picture gallery script with built-in support for other multi-media/data files. The gallery can be private, accessible to registered users only, and/or open to all visitors to your site. Users, if permitted, can upload pictures with their web browser (thumbnail and intermediate sized images are created on the fly during the upload stage), rate pictures, add comments and even send e-cards. The site administrator determines which of the features listed above are accessible by registered and non-registered users. The site administrator can also manage galleries and batch process large numbers of pictures that have been uploaded onto the server by FTP.

Image files are stored in albums and albums can be grouped into categories, which in turn, can be further grouped under parent categories. The script supports multiple users and provides the administrator of the website with tools to manage which user groups can or cannot have personal albums, send ecards, or add comments. Users may also upload to public albums if the website administrator permits it. Permissions to create albums, upload and delete files are all determined by the website administrator.

Coppermine has an optional user selectable theme system with a number of themes pre-installed. It also supports the use of multiple languages and contains it's own language library. These language files provide users of your gallery to access the gallery in their preferred languages. Coppermine uses PHP, a MySQL database, and either the GD library (version 1.x or 2.x) or ImageMagick as image libraries to generate and keep records and file information of all thumbnails, intermediate, and full-sized images. Coppermine generates the html code necessary to display its various categories, sub-categories, albums, intermediate, and full-sized image displays dynamically. This drastically cuts down on the number of files and space your gallery would require using standard HTML. The install script (install.php) makes it quick and easy to get started.

Coppermine uses the jquery JavaScript/Ajax-library for a rich user experience and easy customization.

Coppermine is free, open source software and can be used both for personal sites as well as for commercial use. It is being released und the GNU GPL license, version 3, which has been approved by the OSI.

About the documentation

Use the menu at the top left of this screen to browse through the Coppermine documentation. The menu is available throughout the documentation. The menu is JavaScript-driven - if you have JavaScript turned off or can't use it for whatever reason, use the link at the top that will lead you to the table of contents and from there on to the section of the docs that you want to read.

The Coppermine dev team strongly recommends enabling JavaScript and using a modern browser (with CSS and JavaScript according to the DOM standards) to read the documentation for a richer experience.

Documentation Conventions

Throughout the documentation the follwing conventions have been applied:

Text boxes

There are text boxes in this documentation that have special meanings:

Examples that are meant to illustrate the instructions given are displayed like this!

Additional information that should not be overlooked is being displayed like this.

Hints that usually will lead to a bigger insight into the overall mechanisms within Coppermine or that will help you applying features successfully are being highlighted like this.

Warnings about things that can easily go wrong if a mistake is being made are being displayed in this manner. It is advisable to pay close attention to the text within such boxes.

Things that can go wrong depending on user interaction or user input are being displayed like this.

Actual errors or issues that can have a huge impact are being displayed like this. This is the most serious kind of boxes - their content is very important to read.

Longer sections of code examples (can be PHP, HTML, CSS or JavaScript) are displayed using the typewriter icon in front of them.


All "regular" links (that don't have a special icon displayed next to them) are internal links, i.e. they refer to a section of this documentation and therefore allow you to navigate this documentation. The exception to this rule are the following links:

  • Expandable / collapsible sections
    There are some sections that can be expanded and collapsed (if JavaScript is enabled in your browser) for easier reading. Usually, the expandable sections contain details about the paragraph in front of them. Expandable sections are being tagged with a little plus box () in front of them if in collapsed state and a minus box () if in expanded state. If JavaScript is turned off in your browser, all expandable boxes will be displayed expanded - clicking the icons won't do anything then.
  • External links
    External links that lead to a page outside of this documentation are being followed by a little icon that represents a window with an arrow in it: .
  • PHP documentation
    As Coppermine is a PHP-driven app, there are a number of references within it's documentation that relate to technical terms of the programming language PHP. The links that are tagged with a little PHP icon () therefore lead to sections within the official PHP documentation on that contain further information or definitions of the term used within the coppermine docs.
  • Anchors
    On every page within the Coppermine documentation you will find anchor icons () next to many paragraph headings. They are clickable and will point exactly to the paragraph in front of them. Their purpose mainly is for easier support: if a supporter wants to refer to a particular section of the docs from within his/her posting, he/she can easily perform a right-click, "copy URL" within the documentation on the official coppermine home page and paste that copied link into his posting. For you as an end user, the anchors can be helpfull if you want to bookmark particular section of the docs.


Coppermine comes with many features. Below you'll find an incomplete list. Features that are new in cpg1.5.x (compared to cpg1.4.x) are marked accordingly.


What's next?

There's a number of pages within this documentation that beginners should start with: