2026-07-17 18:31:58 +02:00
2026-07-17 18:31:58 +02:00
2026-07-17 18:31:58 +02:00
2026-07-17 18:31:58 +02:00
2026-07-17 18:31:58 +02:00
2026-07-17 18:31:58 +02:00

Event Bilder Upload

App Preview

Ein einfacher, moderner und responsiver Web-Service zum datumsgenauen Hochladen von Bildern für beliebige Events.

Organisatorische Details

  • Zweck: Sammeln von Bildern von Teilnehmern eines Events.
  • Limitierungen:
    • Maximale Dateigröße pro Bild: 15 MB
    • Erlaubte Formate: JPG, JPEG, PNG, GIF, WEBP, TIFF, HEIC
  • Deadline: Ein Upload-Zeitraum kann festgelegt werden. Nach Ablauf der Deadline sind keine Uploads mehr möglich. Der Countdown wird live auf der Seite angezeigt.
  • Dateibenennung: Die hochgeladenen Dateien werden serverseitig automatisch umbenannt. Das Format ist Datum - Beschreibung.Endung. Das Datum wird dabei intelligent aus den EXIF-Daten (Erstellungsdatum) des Bildes ausgelesen.
  • Speicherort: Alle Bilder werden im Unterordner images/ abgelegt.

Technische Details

  • Technologie-Stack:
    • Backend: PHP (Einzelne Datei index.php)
    • Frontend: HTML5, Vanilla JavaScript, Vanilla CSS
  • Architektur:
    • Keine Datenbank erforderlich.
    • Asynchrone Uploads via AJAX inklusive Fortschrittsbalken und Einzelstatus pro Bild.
    • Client-seitige und Server-seitige Validierung (Dateityp, Größe, Deadline).
  • Abhängigkeiten:
    • Webserver (z. B. Nginx, Apache oder Lighttpd)
    • PHP 8.x
    • PHP-Erweiterungen: session, json, exif (für das Auslesen des Aufnahmedatums), mbstring

Konfiguration

Das Skript ist neutral gestaltet und kann für jedes beliebige Event genutzt werden. Alle Anpassungen können direkt im Kopfbereich der Datei index.php vorgenommen werden. Es sind keine weiteren Änderungen im HTML-Code nötig.

// EVENT CONFIGURATION
const EVENT_NAME = 'Event Bilder Upload';
const EVENT_SUBTITLE = 'Speichere deine Momente datumsgerecht.';

// DEADLINE CONFIGURATION
// Format: YYYY-MM-DD HH:MM:SS
const UPLOAD_DEADLINE = '2026-11-30 23:59:59';

Installation auf einem frischen Alpine Linux

Die folgende Anleitung beschreibt die schnelle Einrichtung auf einem frisch installierten Alpine Linux System unter Verwendung des integrierten PHP-Webservers.

  1. System aktualisieren:

    apk update
    apk upgrade
    
  2. PHP und benötigte Erweiterungen installieren:

    apk add php php-json php-exif php-mbstring php-session
    
  3. Projektdateien bereitstellen: Legen Sie die Datei index.php in das gewünschte Verzeichnis auf dem Server (z. B. /var/www/imgsender).

  4. Verzeichnisrechte anpassen: Damit das Skript den Ordner images/ anlegen und die hochgeladenen Bilder speichern kann, benötigt der ausführende Nutzer Schreibrechte in dem Verzeichnis.

    cd /var/www/imgsender
    chmod 777 .
    

    (Hinweis: Für den dauerhaften produktiven Einsatz mit einem echten Webserver wie Nginx oder Lighttpd sollten die Rechte restriktiver auf den jeweiligen Webserver-Nutzer, z. B. nobody, angepasst werden: chown -R nobody:nobody .)

  5. Server starten: Für Testzwecke oder simple Deployments kann der integrierte PHP-Server genutzt werden:

    php -S 0.0.0.0:8080 -t .
    

    Die Anwendung ist nun über den Browser unter http://<server-ip>:8080 erreichbar.

S
Description
No description provided
Readme
4.6 MiB
Languages
PHP 100%