[PHP] Prüfen eines Arrays via preg_match

XadreS

Painkiller
ID: 370013
L
4 Mai 2006
3.466
345
Hallo,

habe mal eine Frage! Und zwar habe ich ein Formular mit Dateiupload.

Bevor irgendetwas verarbeitet wird, validiere ich erst alle Werte ($_POST,$_SESSION,$_GET,$_FILES,$_COOKIE) mit einem preg_match. Dazu muss der übergebene Wert in einem Array vorhanden sein!

Die Frage ist jetzt, wie lautet das preg_match für den Dateiupload?

Beispiel:

(Ausschnitt aus dem Formular)
HTML:
Bild<br><input type="file" name="list_img">

(Ausschnitt aus dem Array)
PHP:
'list_img' => array('0','0','255','[0-9a-z]*','')

Hilfe zum Array:
1. Wert = Pflichtfeld Ja/Nein
2. Wert = minimale Zeichenlänge
3. Wert = maximale Zeichenlänge
4. Wert = das passende preg_match dazu
5. Wert = mögliche Werteauswahl (in diesem Fall nicht relevant)


Mich interessiert jetzt nur der 4. Wert! Das Problem dabei ist, dass list_img ein Array ist. Wie prüfe ich also auf ein Array?

Hoffe ihr versteht was ich meine. Die $_FILES Variablen werden richtig validiert. Weiß gerade nur nicht, wie man mit einem preg_match prüft, ob es ein Array ist...

Vielen Dank schonmal im Vorraus :)

EDIT: Für alle die es wundert: Das preg_match wird später zusammen gebastelt, hier handelt es sich nur um den regulären Ausdruck
 
Zuletzt bearbeitet:
Hat niemand eine Idee?
Habe mittlerweile einen Tip bekommen, dass das so nicht gehen würde. Kann das wenigstens jemand bestätigen?

Danke :)
 
Du solltest vielleicht mal sagen, was du prüfen willst. Dateigröße, MIME-Typ (keine Gewähr, kommt vom Clienten), Fehlerstatus, Dateiname ?
Ein Array is ein Array, dass kannst du nicht mit preg_match() mit irgendwas matchen, weil es immer den Wert "Array" hat.
 
Du solltest vielleicht mal sagen, was du prüfen willst. Dateigröße, MIME-Typ (keine Gewähr, kommt vom Clienten), Fehlerstatus, Dateiname ?
Ein Array is ein Array, dass kannst du nicht mit preg_match() mit irgendwas matchen, weil es immer den Wert "Array" hat.

da haben wir die antwort doch schon :) Ich kann es also nicht matchen :) Danke, mehr wollte ich gar nicht wissen.
Das die Variable immer den Wert 'array' hat ist mir klar und genau das wollte ich prüfen, aber ich mach das jetzt irgendwie anders

So kannst du kein Upload validieren. Schau dir einfach mal https://us3.php.net/features.file-upload an. Da hast du auch mögliche Fehlercodes aufgeführt.

geht ja auch erstmal um die allgemeine validierung. der upload wird schon noch anders gemacht. trotzdem danke erstmal :)