5

Downloads

2.065

Formmailer-2.0.0-Bootstrap4.zip
Fehlerseite-2.0.0-Bootstrap4.zip
Passwortschutz.zip
Link-teilen.zip
Fehlerseite-2.0.0-Bootstrap4.zip

PHP Link teilen mit QR-Code & Statistik

Version 3 teilt Links per Web Share API, E-Mail, Zwischenablage oder QR-Code mit Bild und Zoom. Eine passwortgeschützte Aktionsstatistik zeigt, wie die Funktionen zum Teilen auf jeder Seite genutzt werden.

# Info

Link teilen v3 lässt sich in Webseiten mit PHP einbinden. Das Menü übernimmt die aktuelle Seitenadresse oder eine feste Zieladresse und bietet passende Funktionen für den jeweiligen Browser. QR-Codes lassen sich mit einem Bild versehen, vergrößern und als PNG herunterladen.

Die Konfiguration in PHP, die Menüausgabe, CSS und JavaScript liegen in getrennten Dateien. Die Einstellungen stehen in inc/teilen.php. Das Menü wird über teilen.php eingebunden.

Die neue Statistik zählt fünf Aktionen je Seite und zeigt die Werte nach einer Passwortprüfung direkt im Menü. Gespeichert werden eine aus Hostname und Seitenpfad gebildete Seitenkennung sowie Aktionszähler, keine IP-Adressen oder URL-Parameter. Die Daten werden in einer Datei als JSON im Ordner teilen-daten gespeichert. Eine automatisch angelegte .htaccess sperrt unter Apache 2.4 den direkten Zugriff über das Web.

# Funktionen

Symbole & Zieladresse

Hauptsymbol und Menüsymbole lassen sich getrennt in Größe und Farbe anpassen. Die Zufallsauswahl berücksichtigt ausschließlich Hauptsymbole. Die Zieladresse wird automatisch erkannt oder fest vorgegeben.

E-Mail & Zwischenablage

Der Link zum Teilen per E-Mail übernimmt den eingestellten Betreff, den Nachrichtentext und die Zieladresse. Die Kopierfunktion schreibt den Link auf unterstützten Browsern direkt in die Zwischenablage.

Web Share API

Der systemeigene Dialog zum Teilen erscheint nur, wenn der Browser diese Funktion unterstützt. Er erhält die Zieladresse und den Seitentitel aus den Metadaten von Open Graph oder dem Dokumenttitel. Eine zusätzliche Bilddatei wird nicht mitgesendet. Die empfangende App erzeugt die Vorschau.

QR-Code mit Bild & Download

QR-Codes werden mit höherer Auflösung erzeugt und können eines der beiden mitgelieferten Bilder im Zentrum anzeigen. Der fertige QR-Code lässt sich als PNG herunterladen. Die Bibliothek zur Erzeugung wird erst bei Bedarf geladen.

QR-Code vergrößern

Ein Klick auf die Lupe öffnet eine vergrößerte Ansicht. Der Zoomfaktor ist einstellbar und wird durch die Bildschirmgröße begrenzt. Schließen ist über das Schließsymbol, einen Klick außerhalb oder die Taste Escape möglich.

Passwortgeschützte Statistik

Das Symbol für die Statistik öffnet die Passwortabfrage direkt im Menü. Nach der Prüfung zeigt die Statistik, wie oft ein Link kopiert, die Funktion zum Teilen per E-Mail gewählt, ein QR-Code geöffnet, sein Download angeklickt oder ein Link an das Systemmenü übergeben wurde. Die Zähler erfassen diese Aktionen und bestätigen weder den Versand einer E-Mail noch den Empfang eines geteilten Links.

Lokale Speicherung

Die Aktionszähler liegen in teilen-daten/teilen-statistik.json. Dateisperren koordinieren gleichzeitige Zugriffe. Der Endpunkt für die Statistik prüft die Anfragemethode, Herkunft, Seitenkennung und Aktion. Zum Lesen der Zähler wird das Passwort zusätzlich mit dem gespeicherten Hash von bcrypt verglichen.

Modularer Einbau & Fallback

Das Menü nutzt die nativen Elemente details und summary. Auch ohne JavaScript bleibt es aufklappbar und bietet E-Mail sowie einen direkten Link. Optionale Erweiterungen werden getrennt gestartet. Ein Fehler in einer Erweiterung soll die übrigen Funktionen nicht unterbrechen.

Design, Animationen & Sound

Variablen in CSS steuern Farben, Menübreite, Abstand, Rundungen und Animationen. Das Menü öffnet und schließt sanft und richtet sich am sichtbaren Bildschirmbereich aus. Optionale Tonsignale begleiten Aktionen. Auf Geräten mit Touchscreen sind Tonsignale beim Überfahren eines Buttons deaktiviert.

Rückmeldung beim Erstaufruf

Das personalisierte Downloadpaket enthält einen Token für eine automatische Rückmeldung nach dem ersten erfolgreichen Seitenaufruf. Wenn cURL verfügbar ist, werden Hostname, Skriptpfad, die Nutzung von HTTPS, die Version von PHP, Zeitpunkt und Ergebnis an arne-home.de übermittelt. Die Statistik im Menü arbeitet unabhängig von dieser Rückmeldung.

# Einstellungen

Symbolgrößen

  • TEILEN_ICON_WIDTH und TEILEN_ICON_HEIGHT
    Diese Einstellungen bestimmen die Breite und Höhe des Hauptsymbols in Pixeln.
  • TEILEN_BUTTON_WIDTH und TEILEN_BUTTON_HEIGHT
    Diese Einstellungen bestimmen die Breite und Höhe der Menüsymbole in Pixeln.

Symbolfarbe

  • TEILEN_SVG_COLOR
    Diese Einstellung bestimmt die Farbe der Symbole.

Inhalte der E-Mail

  • TEILEN_EMAIL_SUBJECT
    Diese Einstellung bestimmt den Betreff der E-Mail.
  • TEILEN_EMAIL_BODY
    Diese Einstellung bestimmt den Nachrichtentext der E-Mail.

Zieladresse

  • TEILEN_AUTO_URL
    Mit 1 wird die aktuelle Seitenadresse automatisch verwendet. Mit 0 wird die feste Zieladresse verwendet.
  • TEILEN_STANDART_URL
    Die feste Zieladresse wird hier hinterlegt und bei deaktivierter automatischer Erkennung verwendet.

Symbolauswahl

  • TEILEN_AUTO_SVG
    Mit 1 wird ein zufälliges Hauptsymbol gewählt. Mit 0 wird das festgelegte Hauptsymbol verwendet.
  • TEILEN_STANDART_SVG
    Das Hauptsymbol lässt sich aus SVG1 bis SVG7 auswählen, zum Beispiel SVG5. SVG4 ist das animierte Herz.

Tonsignale

  • TEILEN_SOUND_AKTIV
    Mit 1 werden die Tonsignale aktiviert. Mit 0 werden sie deaktiviert.

Bild im QR-Code & Zoom

  • TEILEN_QR_BILD_AUSWAHL
    Mit 1 wird img/share-preview.png verwendet. Mit 2 wird img/icon-512x512.png verwendet. Die Dateien lassen sich durch eigene Bilder als PNG ersetzen.
  • TEILEN_QR_ZOOM_FAKTOR
    Diese Einstellung bestimmt den Zoomfaktor, zum Beispiel 1.8. Der Wert wird auf 1 bis 4 begrenzt. Die Bildschirmgröße begrenzt die sichtbare Vergrößerung zusätzlich.

Statistik & Passwort

  • TEILEN_STATISTIK_AKTIV
    Mit 1 werden die Aktionszähler und die Statistikansicht aktiviert. Mit 0 werden beide deaktiviert.
  • TEILEN_STATISTIK_PASSWORT_HASH
    Das Startpasswort lautet arne-home.de. Mit dem Generator für bcrypt lässt sich für ein eigenes Passwort der passende Hash erstellen. Der erzeugte Hash wird in inc/teilen.php als Wert dieser Einstellung eingetragen. Das Passwort selbst wird hier nicht im Klartext gespeichert.

Menü & Gestaltung

  • css/teilen.css
    Farben, Schrift und Rundungen lassen sich über die Variablen mit dem Präfix --LT-* anpassen. Als Standard dient die Systemschrift.
  • --LT-menu-width und --LT-menu-gap
    Diese Variablen bestimmen die Breite und den Abstand des Menüs. Das JavaScript berücksichtigt den eingestellten Abstand bei der Positionierung.
  • --LT-menu-animation-duration
    Diese Variable bestimmt die Dauer der Animation beim Öffnen und Schließen des Menüs.

Web Share & Browser

  • navigator.share
    Die Funktion wird nur angeboten, wenn der Browser Web Share unterstützt und dessen Nutzung erlaubt. Für Web Share und die Zwischenablage muss die Seite über HTTPS aufgerufen werden.

Einbindung & Daten

  • inc/teilen.php und teilen.php
    Die Konfiguration wird in inc/teilen.php angepasst. Das Menü wird mit require_once über teilen.php eingebunden. Diese Datei lädt die Konfiguration selbst.
  • css/teilen.css und js/teilen.js
    Das Stylesheet wird im Seitenkopf eingebunden. JavaScript wird am Seitenende oder mit defer geladen. Die Ordnerstruktur und die relativen Dateipfade bleiben dabei erhalten.
  • teilen-daten
    Dieser Ordner speichert die Statistik und den Status der Rückmeldung. Er benötigt Schreibrechte. Die automatisch angelegte .htaccess muss unter Apache 2.4 wirksam sein.

Rückmeldung zum Download

  • LT_REPORT_TOKEN und LT_REPORT_URL
    Die Platzhalter werden beim personalisierten Download automatisch ersetzt. Für die Rückmeldung beim ersten Aufruf werden ein gültiger Token, cURL und eine erreichbare Zieladresse über HTTPS benötigt. Nach bestätigter Verarbeitung verhindert der gespeicherte Status eine erneute Übermittlung. Schlägt ein Versuch fehl, wird frühestens nach 15 Minuten erneut versucht, solange der Token gültig ist.
System
PHP 8.440%
JavaScript60%
06.10.2026

Kommentar schreiben

max. 1000 Zeichen
0 Zeichen | 0 Wörter
Summe
Hinweis: Diese Website verwendet ausschließlich technisch notwendige Cookies (z. B. für die Sitzungsverwaltung). Es werden keine Tracking- oder Analyse-Cookies eingesetzt. Weitere Informationen finden Sie in der Datenschutzerklärung.