Files
Workflow/tasks/zip_erstellen.md
T

1.7 KiB
Executable File

zip_erstellen — Dateien in ein ZIP packen

Zweck: Sammelt vorhandene Dateien (typisch die Artefakte vorheriger Tasks: {{doc_docx_pfad}}, {{xl_pfad}}, {{latest_pdf_path}}, {{doc_pdf_pfad}} …) und optional ganze Verzeichnisse in ein ZIP und liefert einen Download-Link. Basis: native ZipArchive.

Parameter

Name Pflicht? Default Beschreibung
datei (mehrfach) ja¹ Kind-Element je Datei; Inhalt = Serverpfad ({{…}} erlaubt); Attribut name="…" = Name im ZIP (sonst Basename). Nicht existierende Pfade werden übersprungen.
verzeichnis (mehrfach) ja¹ Ganzen Ordner rekursiv aufnehmen; Attribut unterordner="…" legt einen Präfix-Ordner im ZIP an.
datei_name nein archiv_<wf>.zip ZIP-Dateiname (Platzhalter erlaubt).
output_var nein zip Ergebnis-Präfix.

¹ Mindestens ein datei- oder verzeichnis-Kind.

Ausgangswerte

{{<prefix>_url}} (Download), {{<prefix>_pfad}}, {{<prefix>_datei}}, {{<prefix>_anzahl}} (gepackte Dateien).

Beispiel: Word + Excel + Karte-PDF bündeln

<task type="zip_erstellen" id="paket">
  <config>
    <datei name="Bericht.docx">{{doc_docx_pfad}}</datei>
    <datei name="Gemeinden.xlsx">{{xl_pfad}}</datei>
    <datei>{{doc_pdf_pfad}}</datei>
    <datei_name>Verfahren_{{vkz}}.zip</datei_name>
    <output_var>zip</output_var>
  </config>
</task>
<!-- Link im html_form: <a href="{{zip_url}}">Alles als ZIP</a> -->

Hinweise

  • Namenskollisionen im ZIP werden automatisch entschärft (_2 angehängt).
  • Ausgabe wird nicht statisch ausgeliefert → nur über _url (Endpoint zip-download.php, Tabelle WORKFLOW_ZIP_DL).
  • Gegenstück: zip_entpacken.