Wo die genannte SG-Funktion gebaut wird habe ich auch nicht gefunden, was ich fand war ein "SourceGuardian", der macht aber was ganz anderes. Zudem finde ich SG() nicht besonders interessant, weil sich eigentlich aus dem Zusammenhang ergibt was die im Groben macht. Wie das nun genau gemacht wird finde ich - im Zusammenhang mit mit Deiner ursprünglichen - Frage derzeit „eher uninteressant“.
Ich glaube aber, für Dich ist etwas ganz anderes wissenswert:
Erst einmal ist es der Webserver, der mit dem Request die Datei bekommt, deren Name erzeugt und diese ablegt.
Lesestoff:
http://commons.apache.org/proper/commons-fileupload/apidocs/index.html
Wie ich schon geschrieben habe verwendet PHP den übergebenen Dateiname (und die Meta-Informationen wie originärer Dateiname, MimeType, Größe nur. Der Rest ist wie ich ihn beschrieben habe - PHP untersucht also nur den eigenen Hash (Array) $_FILES - und der wird, wenngleich in geeigneter Form, bei jedem Request vom Apache (andere Webserver wären ebenso zuständig) an das von (CGI) oder mit ihm gestartete (Modul) PHP übergeben.
Was die „geeignete Form“ ist, hängt davon ab, ob - nehmen wir PHP - das verarbeitende Programm als Modul oder CGI (genau dann gibt es eine definierte Schnittstelle) läuft.
Falls Du jetzt wissen willst, wie (im Prinzip) der Dateiname „gebaut“ wird, dann sieh bei PHP unter tmpfile()
nach oder zieh dir auf einem Linux-System mit man tempfile
rein was dort steht. Beides wrappt letztendlich die C-Lib-Funktion tmpfile
. man 3 tmpfile
zeigt Dir auf einem Linux-System was die macht.
Die Manuals finden sich auch an zahlreichen Stellen mit Suchmaschinen, weil man da mit sehr wenig EIGENER Arbeit sehr viel Text und Werbung online bringen kann.