ZenPhoto Uploader

A Windows program to create new albums, upload images, save title and descriptions for albums and images.

  • Resize images as they are being uploaded.
  • Rotate images
  • Re-order images

The program is only meant to upload the album for the first time, not to work with albums after they are uploaded. It operates only on the http level and does not talk directly to the database.


Zenbook is a simple Facebook application that helps you to integrate your Zenphoto gallery with Facebook. It acts a kind of proxy between the Facebook platform and Zenphoto servers. Zenbook's source is provided under a modified GPL licence and free to anyone to use and modify. (Note: The developer has canceled further developement).

Also see the corresponding forum thread for more information:

Adding third party features to Zenphoto

In addition to theming, Zenphoto has a plugin architecture that lets third party developers add extra capabilities to the Gallery. In addition many of the standard features can be enhanced by the addition of specific files. As from Zenphoto release 1.2.7 we have separated as much as possible the standard Zenphoto files and scripts from ones that are otherwise provided.

As in the past, new themes can be added as folders in the root themes folder. With release 1.2.7 the plugins folder has been moved into the root. It is entirely for third party extensions to Zenphoto. Zenphoto standard plugins now reside in the zp-core/zp-extensions folder. You can now remove a few root files, the zp-core folder, and the theme folders of Zenphoto distributed themes prior to uploading a new (...)

New plugin: text watermark

Sbillard has just released plugin that will create simple text-based watermarks. It requires the nightly build/svn version of Zenphoto.
Although it is actually not a third party plugin it will not be included in the coming 1.2.7 release. It is provided "as is".

Download it here

Zenphoto and youtube videos

Formerly there was no easy way to manage files from video portals like youtube because Zenphoto is specifially meant to manage multimedia files on your own webspace. But good news, now with Zenphoto 1.2.6 there is indeed a way. Here is a short tutorial.

Little support available from 09/08 to 09/16

The Zenphoto team will be more or less unavailable to provide the usual fast support on the forum on these days.

Zenphoto 1.2.6 Released

We're pleased to announce the release of version 1.2.6. This release includes usual bug fixes and improvements, as well as improvements to the plugin architecture, full-sized image rotation, and more. See the changelog for more information.

Download 1.2.6 on the Home page

Zenphoto 1.2.6 RC2 ready for testing

We have just relased release candidate 2 of 1.2.6. Please test it thoroughly and report any bugs on trac as usual.

Download links: Zenphoto 1.2.6 RC2 (tar.gz) or (zip)

The changelog is still found here: Version 1.2.6 (RC1)

Zenphoto 1.2.6 RC1

The RC1 of 1.2.6 has been released for testing. You can download it here:

1.2.6 RC1 (Zip) or (Tar.gz)

Please note:With 1.2.6 Zenphoto raises its requirements! It now requires PHP 4.4.8 or above and MySQL 4 or above (PHP5+ or MySQL 5+ recommended). It still may work on older versions but we are not able to test or support those anymore.

Additionally, the version number of all distributed official plugins and themes now has been changed to reflect the release package version, in this case of course 1.2.6.

  • PHP5 error trapping (on PHP5 servers) [sbillard]
  • Image rotation for full images [sbillard]
  • Individual watermarks for albums [sbillard]
  • Resized images are left in their original type rather than converted to JPEG [sbillard]
  • Setup provides (...)

Developer coding guidelines

Coding Style

Zenphoto code follows some basic style guidelines. We essentially use the 1TBS variant of the K&R notation C-code syntax, for example:

function foo($bar) {
 if ($bar == 2) {
   return $bar;
 } else if ($bar < 2) {
   while($bar < 2) {
     echo $bar;

This is a fairly standard formatting for PHP code and makes things nice and readable.

A few guidelines for coding in general:
  • Use generalization and abstraction. DRY! (Don't Repeat Yourself).
  • Keep it simple - if something seems too complex it probably is.
  • Keep efficiency in mind - try not to put filesystem operations in nested loops for example.
  • Write clean code! Make things readable and understandable.
  • Comment your code so that others can understand it. Remember we are open source. For function comments we generaly follow the  (...)