Das Feld sf_file[] kann nur zum versenden von Dateien genutzt werden. Dabei ist es unwichtig wie oft das Feld im Formular eingesetzt wird.
Sollte in der Admin-Area ein Feld file (sf_file[]) angelegt werden, kann es zu Problemen kommen.
Wird das Feld im Layout eingebaut und von einem Besucher genutzt, wird der Inhalt automatisch verarbeitet und als Anhang an die Mail an alle angegebenen Empfängeradressen versendet. Werden zuviele Felder im Layout integriert oder sollten die Dateien zu groß sein, kann es zum Abbruch und/oder zur Zeitüberschreibung wärend des Versendens kommen. Das Limit für die Dateigröße wird hierbei Serverseitig von den internen Einstellungen von PHP festgelegt.
Hinweis
Sollten diese maximale Uploadgrößen-Einstellungen von PHP überschritten werden, reagiert PHP in einigen fällen mit Abbrüchen gefolgt von unrealistischen Fehlermeldungen. Teilweise kann es hierbei zum Totalabturz von PHP und Apache kommen. Diese Hinweise beruhen auf eigenen Erfahrungen, sie wurden bisher nicht zu PHP und/oder Apache dokumentiert.
Einfaches Beispiel :
Code:
<input type="file" name="sf_file[]">
<input type="file" name="sf_file[]">
<input type="file" name="sf_file[]">Im Beispiel können maximal drei Dateien mit versendet werden, selbstverständlich kann diese Anzahl durch einbinden von weiteren Feldern endlos erweitert werden.
Achten Sie bei der Benennung dieses Feldes immer auf die korrekte Schreibweise sf_file[].
Erweitertes Beispiel :
Clientseitige Einschränkung der Dateigröße, sowie dem Dateityp.
Code:
<input name="sf_file[]" type="file" maxlength="100000" accept="text/*">
<input name="sf_file[]" type="file" maxlength="100000" accept="text/*">
<input name="sf_file[]" type="file" maxlength="100000" accept="text/*">Wenn Sie das Attribut maxlength= angeben, sollte der Web-Browser die dahinter notierte Zahl als maximal erlaubte Dateigröße in Bytes interpretieren. Im obigen Beispiel wird auf diese Weise die Bytezahl auf 100000 Byte begrenzt. Wenn Sie maxlength= weglassen, kann der Anwender beliebig große Dateien senden. Beachten Sie jedoch, dass diese Angabe mit Vorsicht zu genießen ist. In der HTML-Version 3.2 wurde es so bestimmt, in der Version 4.0 wird diese Funktionalität beim maxlength -Attribut dagegen nicht mehr erwähnt. Verlassen Sie sich also nicht auf diese Angabe.
Wenn Sie nur bestimmte Dateitypen zulassen wollen, können Sie mit der Angabe accept= die erlaubten Dateitypen eingrenzen. Hinter dem Istgleichzeichen können Sie einen Mime-Type angeben. Dabei ist auch das Wildcardzeichen (*) bei Subtypen erlaubt. Im obigen Beispiel werden mit text/* alle Textdateien akzeptiert. Dazu gehören reine Textdateien (*.txt), aber z.B. auch HTML-Dateien (*.html , *.htm). Verlassen Sie sich aber auch bei dieser Angabe nicht darauf, dass der Browser das tatsächlich prüft vor dem Versenden des Formulars.
Siehe auch: SelfHTML (http://www.selfhtml.org)














