1.7 KiB
Executable File
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 (
_2angehängt). - Ausgabe wird nicht statisch ausgeliefert → nur über
_url(Endpointzip-download.php, TabelleWORKFLOW_ZIP_DL). - Gegenstück:
zip_entpacken.