name einer Function dyn. erzeugen?

Webber

Mitglied
Hi,

ich hab mal wieder ein Problem, dass mich kirre macht.

Hab ein Script geschrieben, dass eine dynmische Anzahl von Bilduploads zulässt.
Dies mach ich also mit einer for-schleife.
In dieser Schleife hab ich ein include einer weiteren Datei.
In dieser Datei wird via function ein name aus 20 Zeichen erstellt.
Weiterhin werden in dieser Datei weitere Schritte, wie resize und thumberstellung abgearbeitet.
Wenn ich nun mehr als eine Datei uploade, wird die includete function ja mehrmals aufgerufen, und dann kracht es. (Ist mir schon klar).
Aber wie kenn ich das nun umgehen.
Da die forschleife eine anzahl von Array-Elementen abarbeitet, wollt ich mit dem aktuellen Array-Zähler den namen der function erweitern. aber es will nicht gehen.
weder mit . noch mit +
Wer kann mit also sagen, wie ich mittels des zahlenwertes den function-namen erweitern kann.
Wie gesagt folgende hab ich probiert:
PHP:
function random.$i ()
und 
function random+$i ()
Auch die var in Anführungszeichen will nicht.
Weiß einer Rat?


gruß webber
 
versuchs mal mit include_once() anstatt include() das sollte dein problem eigenlich beheben, setzt aber voraus das in der datei keine komandos im globalen namesraum stehen...
Wenn du komandos im globalen namensraum stehen hast (außerhalb von funktionen) dann solltest du diese besser in eine funktion packen die du dann einfach aufrufst...
außerdem gehöhrt ein include nicht in die schleife hinein andern an den anfang einer datei
 
@ Operator_Jon
Also meine Kiste lässt es nicht zu, eine function mit einer Var zu bennen.

@chibisuke
include_once hab ich schon probiert, dann wird die funktion aber die includete datei nur einmal abgearbeitet, und dass soll ise ja wegen der for-schleife nicht. da in der includeten datei ja auch die thumbs erstellt werden.
 
hat sich erledigt.
hab die function in eine eigene datei gepackt und inlude die nun im mainfile. dann wird sie ja auch nicht in der schleife deklariert, sondern nur gerufen.

Wäre ich da mal früher drauf gekommen :-)
 
die lösung eine funktion nach einer variable zu bennen is übrigends eval zu benutzen

das würde dann so aussiehen:

eval("
function $functionname() {

}
");

aber muss man einiges beachten dabei und so, is also nicht zu empfehlen...
 
Zurück