Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
core:helper:upload [2014/07/16 18:11] shadowcat [Hochgeladene Dateien speichern] |
core:helper:upload [2014/07/16 00:00] (aktuell) |
||
|---|---|---|---|
| Zeile 13: | Zeile 13: | ||
| Auf der Serverseite existiert ein Script - z.B. ein Modul -, welches die Dateiuploads entgegen nimmt und weiter verarbeitet. | Auf der Serverseite existiert ein Script - z.B. ein Modul -, welches die Dateiuploads entgegen nimmt und weiter verarbeitet. | ||
| - | ===== Hochgeladene Dateien speichern ===== | + | ===== Alle hochgeladenen Dateien speichern ===== |
| + | |||
| + | Hat man mehrere Upload-Felder, ist das die schnellste Variante. Die hierbei festgestellten Fehler werden hierbei in Form eines Arrays zurückgeliefert. Zusätzlich erhält man ein Boolean-Result, welches ''false'' ist, wenn es Fehler gab, ansonsten ''true''. | ||
| Codebeispiel: | Codebeispiel: | ||
| Zeile 27: | Zeile 29: | ||
| <sxh php> | <sxh php> | ||
| - | <input type="file" name="file" id="file" /> | + | <input type="file" name="files" id="files" /> |
| </sxh> | </sxh> | ||
| + | |||
| + | Die Variable ''$ok'' hat den Wert ''true'', wenn alle Dateien erfolgreich verarbeitet werden konnten. Ist dies nicht der Fall, beinhaltet ''$errors'' eine Liste der festgestellten Fehler. | ||
| Die Verwendung von ''utf8_decode()'' stellt sicher, daß Verzeichnisnamen mit Umlauten korrekt verarbeitet werden können. Es kann genau wie ''CAT_Helper_Directory::sanitizePath()'' weggelassen werden. | Die Verwendung von ''utf8_decode()'' stellt sicher, daß Verzeichnisnamen mit Umlauten korrekt verarbeitet werden können. Es kann genau wie ''CAT_Helper_Directory::sanitizePath()'' weggelassen werden. | ||
| + | ===== Einzelne Datei verarbeiten ===== | ||
| + | |||
| + | Die Syntax ist in diesem Fall angelehnt an die ''class.upload.php'', welche ja auch die Basis darstellt. Kurzform: | ||
| + | |||
| + | <sxh php> | ||
| + | CAT_Helper_Upload::getInstance(<Dateiname>)->process(<Verzeichnis>); | ||
| + | </sxh> | ||
| + | |||
| + | Ein bißchen mehr Kontrollmöglichkeiten erhält man durch eine Aufteilung der Kommandos. | ||
| + | |||
| + | <sxh php> | ||
| + | // Instanz erzeugen | ||
| + | $current = CAT_Helper_Upload::getInstance($_FILES['file']); | ||
| + | // prüfen, ob die Datei tatsächlich hochgeladen wurde | ||
| + | if ( $current->uploaded ) { | ||
| + | // ok, hochgeladene Datei in das gewünschte Verzeichnis verschieben | ||
| + | $current->process(CAT_PATH.'/modules/myModule/upload'); | ||
| + | // Erfolg prüfen | ||
| + | if ( $current->processed ) | ||
| + | { | ||
| + | // ... usw. ... | ||
| + | } | ||
| + | } | ||
| + | </sxh> | ||
| + | |||
| + | Mehr Informationen sind in der Original-Dokumentation zur ''class.upload.php'' zu finden: | ||
| + | |||
| + | http://www.verot.net/php_class_upload_docs.htm | ||
| + | |||
| + | Prinzipiell gelten alle Informationen, die nichts mit Bildbearbeitung zu tun haben. | ||