Coppermine 1.4.x FAQ

FAQ for Coppermine Photo Gallery v1.4.x
For credits and copyrights, see Coppermine documentation

With thousands of users, it's not surprising that so many of the same questions are asked on the support forums for Coppermine Photo Gallery. So, to help facilitate your website development, we've included this basic FAQ file on common issues. Please be sure to refer to this FAQ first before posting questions on the forum. Failure to do so will, could, well ... , reflect unkindly on you and could result in some negative "karma."

This document is the second best resource to understand Coppermine - it's mandatory that you read the documentation first that comes with your Coppermine package.

The FAQ are available in German and French as well.

Table of contents:



What are the minimum requirements for the use of Coppermine 1.4.x ?

[top of page]

What's GD and how can I get it?

GD is a graphical library which enables PHP to do image manipulation. If you are running your own webservem you can download it at You will need to recompile PHP on (L)Unix systems, depending on your setup Apache as well. Most recent versions of PHP come with GD - go for a package. On most windows systems, you can just enable it in the php.ini file. If you are subscribing to a webhost: find out through your webhost if GD/GD2 support is available on your site. If not, ask your webhost if you can have it or find yourself another webhost. GD/GD2 are pretty much a standard feature at most webhosting services.

[top of page]

What's ImageMagick and how can I get it?

ImageMagick is another graphical library like GD/GD2 for image manipulation. If you are running your own webserver, you can download it at There are sources available for Unix, Linux, Mac and Windows executables, as well as binary packages for various server operating systems. You cannot install ImageMagick if you are subscribing to a webhost.

[top of page]

How do I find out which version of PHP I have?

If you haven't installed Coppermine, yet, create a blank file named "info.php". Add the following code to it: <?php phpinfo(); ?>. Save the file and upload it to your webserver, then run it in your browser (e.g. The very first line should read "PHP Version X.Y.Z"
Please note: leaving info.php on your server could be a security risk; either delete it after use or move it into a password protected directory!
If you have already installed Coppermine, you will find a phpinfo file (phpinfo.php) within the coppermine folder. Log in to your Coppermine setup as the admin and simply point (type in the URL) your browser to http://yourdomain.tld/your_coppermine_folder/phpinfo.php .

[top of page]

How do I find out which version of GD I have?

If you haven't installed Coppermine, yet, create a blank file named "info.php", put this code into it: <?php phpinfo(); ?>. Save the file and upload this file to your webserver, then run it in your browser (e.g. Look for a table like this:

GD Supportenabled
GD Version1.6.2 or higher
FreeType Supportenabled
FreeType Linkagewith TTF library
JPG Supportenabled
PNG Supportenabled
WBMP Supportenabled

Please note: leaving info.php on your server could be a security risk; either delete it after use or move it into a password protected directory!
If you have already installed Coppermine, you will find a phpinfo file (phpinfo.php) within the coppermine folder. Log in to your Coppermine setup as the admin and simply point (type in the URL) your browser to http://yourdomain.tld/your_coppermine_folder/phpinfo.php. Then scoll down to the GD section of the display.

[top of page]

What's the difference between GD1 and GD2?

GD2 is an updated version of GD1 and, as such, will create pictures with better quality (intermediate and thumbnails).

Here's an example taken from w-nailer: about resizing
(Original pic size: 1024 x 768 pixels):
GD 1.8.4:
128 x 96 pixels
GD 2.0.1:
128 x 96 pixels
Upgrades of the GD lib after coppermine has already installed will not affect pictures that were previously created. It will only affect those created after the upgrade. Unless you are running your own webserver, you cannot upgrade nor install GD lib - only your webhost can!

[top of page]

What are the steps to get Coppermine running?

as stated in the Coppermine readme file:

  1. Download Coppermine
  2. Unzip it to your harddrive
  3. Upload the contents of the coppermine folder to your server (you can install it in the root or in a unique folder with a name of your choosing).
  4. CHMOD (CHange permission settings MODe) your newly uploaded Coppermine "include" and "albums" folders and subfolders to allow for read/write access. If your webhost does not provide file management tools to let you do this, you will probably need to search the net, download and install an FTP program to facilitate this.
  5. Create a database with your website management tools if you don't already have one. You do not have to add any tables to your newly created database. Coppermine will create them for you. If you already have a database on your site, Coppermine can use that as well.
  6. If you are installing on a Yahoo Webserver, read this thread first.
  7. Point your browser to and follow the directions of the install file (basically the mySQL-tables will be created there and the config table will be filled with default values)
  8. Upon successfull installation, delete the install.php file from your website.
  9. Point your browser to , and login as admin using the ID and Password you provided during install. In admin mode, click on the CONFIG menu button to start customizing your coppermine photo gallery.
  10. Experiment with your new install, create a few categories, sub-categories, and albums. Upload a few pics (not too many, just yet), test if everything works.
  11. Point your browser to and READ the docs. The documents included with CPG1.4.x have been updated from previous versions to help answer your questions and issues so that you can get the site you want the first time out. Reading the docs takes but a few minutes. Resolving issues after the fact can take days, even weeks.
  12. If your new Coppermine install is in a sub folder on your site, publish your site by linking it to your homepage.

[top of page]

How can I install ImageMagick or GD?

You can only install ImageMagic or GD if you're running your own server or if you have at least shell access to your webserver. If your site is being hosted by a webhost you can only contact your webhost and ask them to install it for you. If they refuse choose another webhost.

[top of page]

I'm running short on webspace. Is there a "minimum install"?

This is of course a contradiction in terms: running a gallery page usually means you will considerable webspace to store your pics, but if you only want to publish a few pics with what little webspace you have left, there are some files that don't have to be uploaded or that can be removed if not needed. It is however recommended that only experienced users create a minimum install; when in doubt, do a full install.

  1. Remove all languages that you don't need (if your users are all from the same country).
    It's recommended that you keep English anyway even if your users use another language, just for you as admin to be able to temporarily switch to English.
    Delete all files in the lang-subfolder of your coppermine install except yourlanguage.php (e.g. if you're using french, delete all files but /lang/french.php and /lang/french-utf-8.php).
    Webspace that can be saved (maximum): 2.9 MB
  2. Remove all language files that come with an encoding you don't need
    You'll notice that for each language there are two files in the lang-folder: yourlanguage.php and yourlanguage-utf-8.php. You will need the utf-8 files only if you chose "Unicode(utf-8)" in "Character encoding" on your config page. Using Unicode (utf-8) will display the gallery in the language your page visitor has set in his browser. If you haven't chosen Unicode (utf-8) in coppermine config, it's safe to delete all language files with "utf-8" in their filenames from the lang folder.
    Webspace that can be saved (maximum): 1.7 MB
  3. Remove all unnecessary themes
    Remove all themes you won't use from your themes folder. If you're using a customized theme, it's recommended to leave the classic/default theme in place for administrative purposes.
    Example: if you're using the theme "Eyeball" that comes with coppermine, you can safely delete the sub-folders "classic", "fruity", "hardwired", "igames", "mac_ox_x", "project_vii", "rainy_day", "styleguide" and "water_drop" from your themes folder.
    Webspace that can be saved (maximum): 1 MB
  4. Remove some docs from the docs folder
    The docs folder contains documents that are meant to help you set up and administer coppermine. In cpg1.4.0 or better, there are some files in this folder that are mandatory to have on the server for the help icons to work; others are optional. You can remove the files "credits.html", "faq.html", "README.html", "theme.htm" and "translation.htm". All other files (and the subfolder "pics") have to remain on the webserver if you want to use the help icons (recommended).
    Webspace that can be saved (maximum): 164 KB
  5. Remove bridge files
    The Coppermine package includes bridge files used for integration of coppermine with bulletin board software like phpBB, SMF etc. It is safe to delete some files in the bridge folder; if you are using bbs integration, you will have to keep the bridge file that corresponds to the bbs you're using. If you are not using integration, you must keep the file The file udb_base.php is required under all setups ans should not be deleted.
    Webspace that can be saved (maximum): 85 KB
  6. Remove the flags
    If you're not going to use the "select language by flags" option from the coppermine menu, it's safe to delete the flags folder (/your_coppermine_folder/images/flags/). If you are using the flags option, you can of course delete all flags you don't use at all.
    Webspace that can be saved (maximum): 80 KB
  7. Remove files that are needed for install or upgrade only
    Once Coppermine has been installed and is "up-and-running", you can safely delete the files that are needed for installing only: from the coppermine root folder, delete install.php, installer.css, update.php, upgrade-1.0-to-1.2.php. You can delete the folder "sql" as well.
    If you want to update/upgrade your coppermine install later (once a new version comes out), you will of course have to re-upload the update files and the sql folder to your webserver.
    Webspace that can be saved (maximum): 73 KB
  8. Choose to only display intermediate-sized pics and thumbnails.
    After you have batch added your pics and confirmed that they are displaying properly in your CPG setup, click on Admin Tools and select the "Delete original size photos (1)" option.

Summary: a minimum install of coppermine will need approx. 3.3 MB of webspace.
[top of page]


General Upload Troubleshooting

When troubleshooting uploads in CPG 1.4, you are advised to change the upload settings in the Groups console to 'Single uploads only' and to activate 'Debug mode' in the config console. Changing this setting negates some of the error masking done in the multiple upload setting. This will allow you to access more detailed error messages.

First and foremost:Check your folder and file permission settings on the /albums, /albums/userpics, and /albums/edit directories. All should be 777 or 755.

If you don't know what we mean by 777 or 755, you need to do a Google search on UNIX file permissions. Windows has a similar set of file permissions. You can usually set these permissions using an FTP client (If you don't know what an FTP client is, Google for FTP client).

For those of you who skim over statements written in red letters, I will repeat to try to get your attention:

Yes, we are writing about something that could easily apply to YOU.
We repeat -- check your permissions on the /albums, /albums/userpics, and /albums/edit directories. All should be 777 or 755.
Yes, we do want you to check the permissions of each folder even if you think you have already done this. Yes, we mean it.

NOTE: HTTP uploads are limited by the restrictions placed upon them in PHP's configuration.

Things to check: (if you are webhosted, you will need to consult with your webhost regarding the following settings.)
  1. max_input_time- 60 seconds is the default time limit for uploading files.
    This time limit includes the time it takes for the files to upload, so if you exceed this limit, the file will not even parse, and the browser will not get a response. You can workaround this by trying to upload smaller or fewer files, or you can try uploading over broadband. The best solution, of course, is to increase the time limit to something more in line with your needs.
  2. upload_max_filesize - 2MB is the default limit for individual files.
  3. post_max_size - 8MB is the default limit for post requests.
  4. memory_limit - 8MB is the default size.
  5. PHP's LimitRequestBody - 512KB default limit. (mainly an issue on Redhat/Apache systems. Found in /etc/http/conf.d)
    In general, upload_max_filesize < post_max_size < memory_limit in order for uploads to function properly. Coppermine may warn you if a file exceeds upload_max_filesize, but it cannot warn you if the total size of all the files exceeds the post limit or the memory limit.
  6. file_uploads - This determines whether or not PHP will allow file uploads. It must be set to "On".
  7. upload_tmp_dir - This specifies the temporary directory where PHP stores uploaded files.

The most common issue caused by this setting is an open_basedir warning. In this situation, your server administrator has restricted the files that PHP can work with to a certain directory. If he does not create and specify a temporary directory within the open_basedir restriction, PHP will attempt to use the OS temporary directory, and it will be rebuffed by the open_basedir restriction.

Some notes about the different types of upload mechanisms available in CPG 1.3 (or better):
Multiple HTTP uploads are designed to handle a small number of files, and have an upper limit of 10 files at a time. Therefore, they are not well suited for the uploading of large numbers of files unless you are running your own webserver or have control over the php.ini configuration.
If you are looking to upload more than 15 or 20 files at a time, you should consider the batch add process or the XP_Publisher utility. Each has its own drawbacks and advantages.
The batch add process is fast, but it creates quite a load on the server and, as a result, you may experience timeouts causing your uploads to terminate prematurely. XP Publisher, on the otherhand, is considerably slower, but it limits the load on the server. It also circumvents many of the pitfalls caused by limitations set in the php.ini configuration by uploading each file in the batch being uploaded as an individual post request.

[top of page]

Error Messages

When installing I get the error Fatal error: Call to undefined function: imagecreatefromjpeg() in /include/ on line 168. What does that mean?

This error means that the version of PHP installed on your server does not support the GD1/GD2 image library.
If you know that the ImageMagick suite is installed on your server, you could try using it instead. Otherwise, you will have to find another webhost or convince your existing webhost to have GD1/GD2 installed (the GD image library is now a standard component of PHP and should normally be installed and available, de facto). Coppermine won't run without gd or image magick.

[top of page]

When installing I get the error Warning: mkdir(dummy) [function.mkdir]: Permission denied in /your/path/to/coppermine/install.php on line 126. What does that mean?

The script must have the right to create and delete files.

[top of page]

I get the error "Warning: Empty Delimiter in line 33". What can I do?

Edit the file include/
Look for the line with
$charset = $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'];
Replace it with :
$charset = $CONFIG['charset'] == 'language file' ? $GLOBALS['lang_charset'] : $CONFIG['charset'];

[top of page]

I get the error Zero Sized Reply during install. What can I do?

On rare ocassions, some users experience this error message during install:

While trying to retrieve the URL:
The system returned:
Zero Sized Reply
The remote server did not reply any data for this request.
Please try again later
Unfortunately, we still do not know why this happens - those who get this error simply cannot use Coppermine (our apologies). Disabling or removing HTTP filtering on the firewall may help (client and/or server end). Should you have any idea as to what may be causing this error (and even possibly come up with a solution), please visit the Coppermine support board and enlighten us.

[top of page]

I have the error message Warning: Undefined index: SCRIPT_NAME in / on line 90. What can I do?

Try to edit the file include/


[top of page]

When a user tries to upload a picture s/he gets the error message Impossible to move somepic.jpg to albums/userpics/ | Warning: move_uploaded_file(/tmp/phpezCYKr) [function.move-uploaded-file]: failed to create stream: Operation not permitted. What's wrong?

You should contact the admin of your webhost because you usually can't change the location of the website's temporary directory for file uploads, yourself (it is part of PHP configuration) .
If the open basedir restriction is in effect on your site then the temp directory for file uploads should be one that you can access.

[top of page]

When I try to upload a picture I get the error message Warning: opendir(./albums/edit): failed to open dir: No such file or directory. What's wrong?

[top of page]

When uploading I get the error Warning: Undefined variable: HTTP_POST_VARS in include/ on line 43. What can I do?

Check if your version of PHP fullfills the minimum requirements for Coppermine. If your version is 4.1.0 or better, then this error is probably caused by a misconfiguration of your hosting server, and not a Coppermine issue. If the server isn't yours to configure properly (that is: if you're with a webhost), you can try this workaround (at your own risk):
Edit the file "" and look for

Replace it with

[top of page]

I get the error message Can't create/write to file '/tmp/#sql_45d5_0.MYI'. What's wrong?

The problem:
MySQL can't create a temporary file for the result set in the given temporary directory.

The solution:
Alter the tmpdir variable to point to a writable directory. It requires changing the tmpdir line in the my.cnf file, usually in the [mysqld] section (tmpdir = /writable/dir, where /writable/dir is a directory to which you can write).

Ask your webhost to make the above changes.

[top of page]

I get the error message Can't open file: 'yourPrefix_tableName.MYI' or similar. What's wrong?

The problem:
Your table is corrupted.

The solution:
This is not a coppermine issue, but a mySQL issue. It just may affect a database table used by Coppermine.
Use your website's Control Panel to repair the table, or use phpMyAdmin to execute this sql query: REPAIR TABLE yourPrefix_tableName
(Replace yourPrefix_tableName with your table name, e.g. cpg145_pictures)

If you don't understand the solution, ask your webhost to make the above changes.

[top of page]


Setup / configuration

How can I include a link in an album description field or in the caption of a pic?

Coppermine supports the following bbCodes (the same bbCodes that are used by phpBB) in image and album description:

code output
[b]bold text[/b]
bold text
[url=]URL text[/url]
URL text
[top of page]

I don't want to show the last uploads and/or random pictureson the start page. How do I edit what's shown on the start page of coppermine?

  1. login as admin into your CPG setup
  2. click on "Admin Mode" if it is not already enabled
  3. Click on Config in the "Admin Menu"
  4. under "Album list view" use the above provided keywords: (e.g. anycontent/catlist/alblist/random,2/lastup,2 translates to: "anycontent file contents, category list, album list, 2 rows of random pics, 2 rows of last uploads" -- and will display in the order that they are listed)

[top of page]

How do I remove/edit the bottom line "Powered by Coppermine" ?

You mustn't remove the line - it's part of the deal: you're allowed to use and modify Coppermine on your site, but this line must remain! We feel strongly that it is more than a justified demand to give credit where credit is due. We hope that you will agree with us and just be glad that such a great piece of software is available for use at NO COST, with no banner ads or embedded spyware, to you.
You are allowed to change the way the line looks by editing the CSS class to make it fit into the design of your site; edit /themes/yourtheme/style.css, look for the class "Footer" and change the settings there as you wish.
Note: PLEASE don't ask idiotic questions on how to remove this line in the Coppermine Photo Gallery Support Board - your posting will be deleted!

[top of page]

I want to buy a license for Coppermine (and get rid of the "Powered by Coppermine" line). How?

As Coppermine is based on OpenSource software published under GNU/GPL (which allows the modification of the code, but disallows changes of the license model of your modifications), you can not purchase a version of coppermine with or without the credit line removed. Read the file COPYING that comes with the distribution of Coppermine for details.

[top of page]

I don't want to use the feature XYZ of Coppermine. How can I remove it?

Just remove the link; edit /themes/yourtheme/theme.php, look for the feature you want to remove and comment out the HTML code.
Example: if you want to remove the ecard-feature, just look for

<td align="center" valign="middle" class="navmenu" width="48">
<a href="{ECARD_TGT}" title="{ECARD_TITLE}">
<img src="images/ecard.gif" width="16" height="16" border="0" align="absmiddle" alt="{ECARD_TITLE}"></a>
and replace it with
<!--<td align="center" valign="middle" class="navmenu" width="48">
<a href="{ECARD_TGT}" title="{ECARD_TITLE}">
<img src="images/ecard.gif" width="16" height="16" border="0" align="absmiddle" alt="{ECARD_TITLE}"></a>

[top of page]

How do I add a custom header/footer to Coppermine?

There are these files to look for:

[top of page]

How do I create an album that all users can add photos to?

(Assuming that you have already created at least one category and/or one album where the uploaded photos should go to):

[top of page]

How can I backup my coppermine database?

Currently, there are no built-in backup solutions for coppermine available, yet. To backup your directory/file structure, you must use the good old ftp method and a tool like phpMyAdmin to backup your database (Many webhosts that offer mySQL also offer a pre-installed version of phpMyAdmin - if so, use that!). PhpMyAdmin is easy to install: just download the distribution, unzip it to your harddrive, edit one config file and upload it to your server. (NOTE: Some webhosts offer backup services. You should check if this service is available to you, first.)

Here's a quick "how to backup a database with phpMyAdmin" primer:

[top of page]

The fullsize-pic doesn't pop up when clicking on the intermediate size pic. What's wrong?

If you are certain that your original file is larger in dimensions than the settings you selected for intermediate sized pictures, there's a good chance that you over-edited your theme's template/html file: make sure that the line <script type="text/javascript" src="scripts.js"></script> inside /themes/yourtheme/template.html is still there to make the pop-up window work...
The <head>-part of your template file should look like this:

<meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />
<link rel="stylesheet" href="themes/default/style.css" />
<script type="text/javascript" src="scripts.js"></script>
- If you're still unsure about this, just compare your theme's template.html with the default theme that comes with coppermine .

[top of page]

How can I let unregistered users see the thumbnails only, but not the actual pictures?

Edit displayimage.php and add
if (!USER_ID) cpg_die(ERROR, 'You need to register to access this page', __FILE__, __LINE__);
just before

* Local functions definition

[top of page]

How can I prevent other sites from linking directly to the pictures in my gallery instead of the gallery page?

IF your webhost supports the use of .htaccess files (you will need to ask them), you can prevent "hotlinking" by creating an .htaccess file in the albums folder.
Open your text editor and add the following lines, then save the file as .htaccess :

SetEnvIfNoCase Referer "^" locally_linked=1
SetEnvIfNoCase Referer "^" locally_linked=1
SetEnvIf Referer "^$" locally_linked=1
<FilesMatch "\.(gif|png|jpe?g)$">
  Order Allow,Deny
  Allow from env=locally_linked
This will only work on linux/unix and apache servers AND only if you're allowed to use /htaccess files by your webhost or if you run your own server and "mod_rewrite" is enabled on your server .

[top of page]

I tried to change the language on the config page, but it doesn't work. What's wrong?

"Character encoding" is probably set (or has been set sometime ago) to UTF-8 on your config page.
When UTF-8 is selected, Coppermine chooses your language file based on your browser configuration and stores the value in a cookie. This overrides the value stored in the CONFIG.
To fix that:

[top of page]

How do I allow all guests, not just registered users, to add comments to pictures?

To change the settings on a per album basis, first, complete the above steps, then):

[top of page]

I can't upload with the upload feature. What's wrong?

If you experience the error message: No picture was uploaded. If you have really selected a picture to upload, check that the server allows file uploads..., check if there's a problem with HTTP uploads on your server - this feature may have been disabled or improperly configured. In phpinfo(), check that "file_uploads" is ON, "upload_max_filesize" is something like 2M and "upload_tmp_dir" is a valid directory!

[top of page]

How do I change the order of categories?

[top of page]

I can't delete a certain picture with ftp. What can I do?

If you can't delete a file or picture with your FTP software, it is not Coppermine that won't allow you to delete the picture; it is your FTP server. The problem is in the configuration of your server. Try to delete your picture from within the script.

If PHP on your server is running under user "nobody," then all files created by any PHP script (this is not specific to Coppermine) will be owned by "nobody". There is no way to change that.

IMPORTANT: 0777 (CHMOD 777) should not be the default mode for directories because it may present a security risk, if your gallery is running on a shared server and PHP safe mode is not enabled, anyone with an account on the same server could possibly delete your pictures. There have been several threads on this issue on the Menalto Gallery forum and several users have seen their gallery hacked and destoyed because of this. This issue is not specific to Photo galleries, it applies to all PHP scripts that create directories. As long as someone has write access to a directory, s/he could conceiveably delete any file it contains, even if that person doesn't have write access to the file itself.
We would prefer to have users complaining LOUDLY and REPEATEDLY that they have to constantly contact their sysadmin to set this or reset that or even uninstall Coppermine, and have THIS as an issue and electing to switch to another gallery script because of this inconvenience, rather than learn of one person devastated in finding that all his/her pictures have been erased by a hacker.
Don't agree? Read this:
before thinking of posting an argument in this forum.
Ultimately it is the decision of the sysadmin on how s/he will elect to run PHP as an Apache module and if all files/dir created by PHP are to be owned by "nobodyquot;. So sysadmins who have set up their servers as such, are in no position to complain when asked to remove certain files or directories.

On the webhost this site is running on, everything works fine when directory are created with mode 755 and all files/dir created by PHP are owned by the chezgreg user which is the user I use when connecting by FTP. Also if one of the file/directory on my site has a mode of 777, the server will shutdown my site and send me an email warning me that this is unsafe.

[top of page]

I can't upload big pics or files. What's wrong?

The max. size of uploadable pics and/or files is limited by various settings - to find out why you can't upload big picks, check the following:

[top of page]

I can't login to Coppermine. What's wrong?

This is most likely a cookie issue:

[top of page]

How can I change the sorting order of the albums?

By default the albums appear in the order they were created. If you want to adjust the sorting order, do the following:

[top of page]

I don't use the intermediate pictures anymore. How can I delete them to gain disk space?

Why would you want to do that? Deleting the intermediate pics would disable many of the great features that make coppermine what is today. The option to send ecards, to add comments to pics, to rate pics, to display exif information, just to name a few. If you really want to save space, opt to delete your original files using the Admin Tools menu option. Doing this will allow your users to enjoy all of coppermine's features with the exception of viewing full-sized images. In the end, it will probably save you more space as well. Just be sure to set your intermediate sized picture settings in CONFIG to a size that you can live with.

If you really must remove the intermediate sized pics, search the mods and hacks board in the coppermine forum to learn how.

[top of page]

How do albums and folders work in coppermine?

  1. When you create an album, it is a dynamic 'virtual' album. Coppermine doesn't create a physical folder for this album on the server's hard drive, it leaves the pictures where you put them on the server, and uses the database to know which pic belongs in which album. You can move pics from album to album in Coppermine, but it's all done in the database, the pics are never moved on the server.
  2. When you upload by html, using the 'upload' link, coppermine places the pic (and the thumb and normal size copies) in the 'userpics' directory.
  3. When you upload by ftp, you should place the pics into folders that you create within the 'albums' folder, but never in the 'userpics' folder. The 'userpics' folder is reserved for html uploads only. You can create as many folders/sub-folders for FTP uploads as you want. (Many webhosting services will recommend that you keep the number of files per folder under 500 in order to maximize speed and certain functions. This means you can upload up to 500/3 files in each folder.) You can name these folders anything you want, but we do recommend mirroring the category/album structures that you have created, whenever possible, to facilitate ease of use and site management.
  4. When you batch add files that you have already FTP'd to your site, coppermine asks you what album you want to put the pics in, but it leaves the pics where they are on the server.

[top of page]

How can I move albums from one category to another?

[top of page]

How can I move my gallery to another host?

[top of page]

How do I show the same file in multiple albums?

The Album Keyword in Album Properties is used to link images from one album into another. Using this method, files/images can be displayed in various albums while the file itself need only exists in one album on your webserver. You simply upload a file to one album as you would normally do, then assign one or more keywords to the file. The keyword function reads blank spaces between words as a 'break' and assumes that these words are separate words. If you must use phrases for your keywords, connect them with an underscore or by using the ascii space holder ctrl+Alt+0160 (NOTE: the latter option only works with latin based character sets.) Each album can only have ONE (1) keyword or keyword phrase. All pictures residing in different albums that you would like to be displayed in this album must have the same keyword or keyword phrase in their respective keyword fields. Pictures, unlike albums, can have multiple keywords or keyword phrases separated by spaces. This provides you with the option to display pictures in many albums. For the visitor of these albums, it will appear as if the file/image had been uploaded to each.

If you use album keywords to display images/files in more than one album, enabling the Config option, Show number of linked files, will display additional information for the album stats. That is, if an album doesn't only contain "regular" files, but files linked via the "album keyword" option as well, the number of linked files will be displayed separately like this "3 files, last one added on Oct 07, 2004, 3 linked files, 6 files total".

[top of page]

Add-ons / Modifications / Hacks

How can I change the order of the pics when editing them?

By default, the pics are shown alphabetically when you edit them. To change the sorting order to "by date", edit editpics.php and change

$sql = "SELECT p.*,a.category FROM {$CONFIG['TABLE_PICTURES']} as p ".
                           "INNER JOIN {$CONFIG['TABLE_ALBUMS']} as a ".
                           "ON a.aid=p.aid ".
                           "WHERE p.aid = '$album_id' ".
                           "ORDER BY p.filename LIMIT $start, $count";
                $result = cpg_db_query($sql);

$sql = "SELECT p.*,a.category FROM {$CONFIG['TABLE_PICTURES']} as p ".
                           "INNER JOIN {$CONFIG['TABLE_ALBUMS']} as a ".
                           "ON a.aid=p.aid ".
                           "WHERE p.aid = '$album_id' ".
                           "ORDER BY pid LIMIT $start, $count";
                $result = cpg_db_query($sql);

[top of page]

How can I create a menu that's shown on the right side of the gallery?

When the template.html is read, it is split in 2. What is before the {GALLERY} tag is output by the pageheader function, what is after by the pagefooter function.
If your menu is in the "footer" you need to modify your theme.php file

   $template_vars = array(
      '{LANG_DIR}' => $lang_text_dir,
      '{TITLE}' => $CONFIG['gallery_name'].' - '.$section,
      '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'],
      '{META}' => $meta,
      '{GAL_NAME}' => $CONFIG['gallery_name'],
      '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'],
      '{MAIN_MENU}' => theme_main_menu(),
      '{ADMIN_MENU}' => theme_admin_mode_menu()

   echo template_eval($template_header, $template_vars);
will become
   $template_vars = array(
      '{LANG_DIR}' => $lang_text_dir,
      '{TITLE}' => $CONFIG['gallery_name'].' - '.$section,
      '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'],
      '{META}' => $meta,
      '{GAL_NAME}' => $CONFIG['gallery_name'],
      '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'],

   echo template_eval($template_header, $template_vars);
echo $template_footer;
will become
   $template_vars = array(
      '{MAIN_MENU}' => theme_main_menu(),
      '{ADMIN_MENU}' => theme_admin_mode_menu()

   echo template_eval($template_footer, $template_vars);

[top of page]

How can I send a user directly to his private album once he logs in?

and search for
pageheader($lang_login_php['login'],"<META http-equiv=\"refresh\" content=\"3;url=$referer\">");

and add before it
$referer = 'index.php?cat='.(FIRST_USER_CAT+$USER_DATA['user_id']);

[top of page]

How can I prevent unregistered users from viewing the gallery?

In Config, when "Allow unlogged users (guest or anonymous) access" is set to "No", unlogged users (i.e. guests or anonymous users) can not access anything in your gallery except the login screen (and the registration screen, if you allow registrations). Completely disabling anonymous access will probably decrease your site's popularity. Use this option only if you need your gallery to be absolutely private. The recommended setting is to leave anonymous access enabled and use the more specific permissions by groups and albums settings instead.

How can I display the name of the uploader with the picture info?

Warning: this is quite a complicated hack for a newbie to perform! Make sure to back up your original files before attempting this.
Edit displayimage.php and search for:
$info[$lang_picinfo['Filename']] = htmlspecialchars($CURRENT_PIC_DATA['filename']);
add after it:
$info[$lang_picinfo['Username']] = htmlspecialchars($CURRENT_PIC_DATA['user_name']);.
Then open /include/ and search for following in function get_pic_data():
if($select_columns != '*') $select_columns .= ', title, caption';
and replace it with:
if($select_columns != '*') $select_columns .= ', title, caption, user_name';.
After that search for:
$result = cpg_db_query("SELECT $select_columns from {$CONFIG['TABLE_PICTURES']} WHERE aid='$album' $approved $ALBUM_SET ORDER BY $sort_order $limit");
and replace it with:
$result = cpg_db_query("SELECT $select_columns from {$CONFIG['TABLE_PICTURES']} AS p LEFT JOIN {$CONFIG['TABLE_USERS']} AS u ON u.user_id = p.owner_id WHERE p.aid='$album' $approved $ALBUM_SET ORDER BY $sort_order $limit");
Then you have to add the language string for the username. Open /lang/yourlang.php and search for:
$lang_picinfo = array(
and add after that:
'Username' => 'Username',
Also you need to execute this query in MySQL (with a tool like phpMyAdmin):
ALTER TABLE `cpg11d_pictures` ADD INDEX ( `owner_id` );
(NOTE: If your database table_prefix is not "cpg11d_", you will need to change it in the query)

[top of page]

How do I enable clickable links in custom user fields?

Edit displayimage.php and change
$info[$CONFIG['user_field'.$i.'_name']] = make_clickable($CURRENT_PIC_DATA['user'.$i]);
$info[$CONFIG['user_field'.$i.'_name']] = bb_decode($CURRENT_PIC_DATA['user'.$i]);
This will allow you to use BBCodes in the custom fields: you can then have something like
[url=]link to some site![/url]
in your custom user fields (the display of which, of course, has to be enabled in the config page, begin with).

[top of page]

How can I sort the thumbnails by user defined (custom) fields?

  1. Edit /includes/
    $sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC'); 
       $sort_array = array(
          'na' => 'filename ASC',
          'nd' => 'filename DESC',
          'da' => 'pid ASC',
          'dd' => 'pid DESC',
          'f1a' => 'user1 ASC',
          'f1d' => 'user1 DESC',
          'f2a' => 'user2 ASC',
          'f2d' => 'user2 DESC',
          'f3a' => 'user3 ASC',
          'f3d' => 'user3 DESC',
          'f4a' => 'user1 ASC',
          'f4d' => 'user1 DESC'
  2. Edit /themes/yourtheme/theme.php

[top of page]

How do I enable IPTC support?

Edit /includes/ and search for
$imagesize = getimagesize($image);
replace this with:

$imagesize = getimagesize($image,&$info);
$iptc = iptcparse($info["APP13"]);
if (is_array($iptc)) {
(is_array($iptc['2#025'])) && ($keywords.=implode(" ", $iptc['2#025']));
NOTE: This hack hasn't been thoroughly tested, use at your own risk...!

[top of page]

Common PHP errors and how to get rid of them...

There are a lot of people (especially PHP newbies) that post questions like I get the error "Parse error: parse error in XXX" and don't know what to do about it. That's why I translated this list of common errors (and a solution how to fix them) from the original german article in Dr. Web :

[top of page]

Can I rename template.html to template.php to include PHP code in my template?

No, this is simply not the way coppermine works; for "normal" pages the name of the extension tells the webserver whether the file should be parsed by the PHP interpreter. The template files within the themes folder are not being parsed this way - the extension .html was just chosen to make editing easier. You can not have PHP code in the template file, no matter how you name it - that's all there is to it!

[top of page]

How can I prevent users from saving (stealing) my pictures?

You can not completely prevent users from stealing your pics - that's the way the www works: if a picture is being displayed in the browser, the user already has a copy of it on his hard drive. There are however some methods to make it harder for newbie users to steal your pics:

[top of page]


I'm running my own server

How do I enable gd on my Windows server?

GD 1.x 2.x are normally part of all standard PHP distributions under Windows
To check if you have it, go to the directory where you installed PHP, go to the "extensions" subdir and see if you have a file named "php_gd2.dll".
Ocassionally, you will also need to edit your php.ini file (located in windows directory normally) and remove the ";" that is at the beginning of the line:
extension=php_gd2.dll (at the end of the file). This will cause PHP to load the GD2 extension.
Whenever you make changes to php.ini, remember that you will need to restart your webserver before changes become effective.
ImageMagick it quite complicated to use under Windows

[top of page]

How do I enable ImageMagick on my Windows server?

ImageMagick is quite complicated to set up on Windows. There are several things to be taken into account. The Coppermine support board is not the right place to ask for help on installing it, as it deals with Coppermine, not "How to set up a server" (most people on the Coppermine boards don't run their own webserver, but they have webspace by a webhost). Instead, try to find support boards on the internet that deal with this special topic.

[top of page]


Coppermine Support board

These are (alas) not-so-frequently-asked-questions on the support board. Before posting on the Support board (or, in fact, any board), please read this:

I don't know PHP/mySQL...

No problem with that, everyone stars as a newbie. Just don't start each and every posting by stating "I'm a newbie", "I don't know anything about PHP" etc.
Usually, one can acertain that from your question itself. There's no need to apologize. Most of us can still remember when we were in your shoes.

[top of page]

I've posted my question a while ago, but nobody answers. What the...?

The support board is not a hotline. Although there are many visitors to the site, only a few do actually support - on a unpaid, voluntary basis. Yes, we don't receive remuneratio for our contributions and we each have a life, a job, family and more. We are away sometimes, as well. So, please, be patient, read the docs and search the boards while you are waiting.
If you don't get an answer to your question:

[top of page]

How should I write my question?

If you have a question, make sure you provide as much information as possible:

[top of page]

I've run into trouble. What should I do first (before posting on the board)?

[top of page]

Hey, by looking at your profile I can see you're German/French/Whatever. Can I post a question in that language?

If you are posting in the English support boards, pPlease do not post in some other language - in this way, others may benefit from your question (and the answers you receive ), too. Don't be afraid to write "poor english" - no one will laugh at you, and most of our visitor's first language isn't english to begin with! There's a german support board available at - use it if you are more comfortable with German and you' not able to write in English!

We have language-specific support boards for Chinese and French.

[top of page]

May I email/pm/im you for support?

No you mustn't! Post your question on the Coppermine support board (publicly) - if we (the community) don't find a solution and I have the time and I want to I'll email/pm/im you!

[top of page]

Who are you anyway?

We are a group of people who decided to form a team to develop Coppermine further - check the team page for details...

[top of page]

This FAQ is a work in progress, please contribute in the Coppermine Photo Gallery Support Board (don't contact me to ask for fixes of your Coppermine install). Please report any bugs, typos etc.
Check the online-version of this document for updates!
Have fun!

GauGau (aka Joachim Mueller) - coppermine dev team

[top of page] LogoPowered by