Open-source photo gallery CMS for real shared hosting

A modern gallery system that treats your folders as the source of truth.

PHP Gallery turns an ordinary PHP 8 and MySQL hosting account into a fast, organized, admin-friendly photo archive, with nested galleries, responsive thumbnails, EXIF, GPS maps, theming, updates, logs, and privacy-safe telemetry.

No build step
Plain PHP, CSS, and JavaScript
Shared-hosting ready
Works with typical FTP deployments
Filesystem-first
Folders remain meaningful on disk
phpgallery.site
Admin tools Scan, import, reorder, tag, update.
Shared hosting Upload one installer and configure.
PHP 8+ MySQL / MariaDB GD thumbnails ZipArchive downloads Vanilla JavaScript No npm required

Product capabilities

Everything needed to run a serious private or public photo archive.

PHP Gallery focuses on the workflows that matter after the first upload: hierarchy, metadata, performance, privacy, maintenance, and predictable hosting requirements.

02

Responsive image delivery

Generate JPEG and WebP variants, serve thumbnail sizes matched to the rendered grid, and avoid overfetching on mobile and dense gallery pages.

03

Admin workflows without framework weight

Create galleries, upload images, scan folders, reorder pictures, manage tags, assign covers, handle bulk operations, and review maintenance status from the admin area.

04

Visibility that matches real publishing

Use public listings, unlisted direct links, admin-only drafts, private access, passwords, and token-style share links without changing the underlying folders.

05

EXIF, GPS, and maps

Surface camera metadata, lens information, location data, and interactive maps where available, while keeping those features configurable per gallery.

06

Operational visibility

Use admin audit logs, thumbnail maintenance checks, database integrity tools, update status, and privacy-conscious telemetry exports to understand what the installation is doing.

Visual showcase

Designed for photo collections that grow over years.

The public gallery can stay clean and image-focused while the admin side handles the tedious parts: scanning, thumbnail repair, metadata, sorting, access control, updates, and logs.

  • Nested galleries with breadcrumbs and gallery cards.
  • Fullscreen viewer with keyboard-friendly navigation.
  • Theme controls for colors, radius, layout width, branding, and custom CSS.
  • Optional tags, votes, picture game, downloads, and map overlays.
Stylized PHP Gallery interface with public gallery, admin tools, and technical features

Why PHP Gallery

It is built for the hosting people actually have.

No application platform required

Many galleries assume a VPS, Node stack, container deployment, or package manager access. PHP Gallery targets the more common case: Apache-compatible shared hosting with PHP and MySQL.

Your files remain yours

The filesystem is not treated as a hidden storage backend. It remains the canonical archive shape, so folder moves, imports, backups, and manual inspection stay understandable.

Admin features are part of the product

Maintenance, logs, migrations, updates, thumbnails, integrity checks, and account settings are not afterthoughts. They are first-class workflows for long-running galleries.

Technical highlights

Simple deployment, practical internals, predictable requirements.

Runtime

PHP 8 and MySQL/MariaDB

Runs on a conventional PHP hosting account with PDO MySQL. MariaDB is supported, and query-string routes can work even where rewrites are unavailable.

Images

GD, WebP, DNG display masters

Thumbnail generation uses GD for common formats, with WebP variants for efficient delivery. DNG originals can be kept while display masters and thumbnails are generated for browsing.

Maintenance

Migrations, updates, logs

Schema migration support, GitHub-based update checks, patch notes, audit trails, log exports, and recovery-oriented maintenance tools support real installations.

Privacy

Telemetry without invasive tracking

Usage statistics are designed around anonymous operational insight rather than advertising profiles. Admins can disable collection and export the data they keep.

Getting started

Install from one bootstrap file or upload the full package.

The fastest route is the bootstrap installer. Create an empty database, upload setup-gallery.php, open it in the browser, and let the installer fetch and configure the application.

Installer file
https://github.com/klusik/PHP_gallery/raw/main/setup-gallery.php
  1. 1

    Create a database

    Create an empty MySQL or MariaDB database in the hosting control panel.

  2. 2

    Upload the installer

    Place setup-gallery.php in the web root for the new installation.

  3. 3

    Open it in the browser

    Enter database credentials, create the admin account, and let the installer write the configuration.

  4. 4

    Import galleries

    Upload folders or images, scan the filesystem, generate thumbnails, and publish what should be visible.

Ready for phpgallery.site

Launch a credible product page now, then connect demo and release links when they are ready.

This landing page is static, fast, cacheable, and does not require PHP or a database. The gallery app remains separate and can be installed wherever you want the live demo or production gallery.