Hallo,
tief einatmen ...
*eins-zwei-drei-vier-fünf-sechs-sieben-acht-neun-zehn*
und ausatmen. Jetzt besser? :-)
Meine Frage war doch nicht, was dokumentiert ist, sondern, wie die die Funktion das "uploaded" feststellt.
War mir klar, dass du auf das "wie" hinaus wolltest. Deswegen habe ich nochmal im Quellcode gewühlt. So ganz bin ich noch nicht dahintergekommen, aber es scheint so, als ob beim eigentlichen Upload (also noch bevor das Script gestartet wird) über den Namen jeder Datei, die hochgeladen und mit einem Zufallsnamen im temp-Verzeichnis abgelegt wurde, ein Hash berechnet und abgelegt wird.
Und move_uploaded_file() überprüft dann genau wie is_uploaded_file(), ob die Datei mit dem angegebenen Namen existiert, ob ein Hash dazu existiert, und ob er mit dem Dateinamen zusammenpasst.
Wenn sich das jetzt ein wenig vage anhört, dann liegt es daran, dass ich den Ablauf auch noch nicht so ganz begriffen habe.
(Wo steht es im Quellcode? Wenn es jemand verlinken kann, brauch ich nicht erst lange zu suchen, sonst fang ich heute Nacht vielleicht damit an...)
In ./ext/standard/basic_functions.c ab Zeile 5787 (für PHP 5.3.6).
Ciao,
Martin
Wer barfuß geht, dem kann man nicht die Schuld in die Schuhe schieben.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(