Hi
OK, aber wir sind uns einig das ein umbenennen des Tempfiles immer noch sauberer ist als umkopieren. In einen idealen Welt hätte CGI.pm eine Methode link_tmpfile($dest_path).
Wer sagt Dir denn, dass die Tempfiles auf dem gleichen Dateisystem liegen wie die endgültigen Dateien? /tmp ist gerne mal eine eigene Platte oder sogar mit dem Swap und dem RAM kombiniert (tmpfs unter Linux, Solaris). Und genau da mag CGI sein Zeug gerne hinschreiben.
Nee, CGI möchte es bevorzugt in ein tmp-verzeichnis im Home des ausführenden users schreiben. (RTFM ...SCNR ;)
"1. if the current user (e.g. "nobody") has a directory named "tmp" in its home directory, use that (Unix systems only)"
Man sollte also das Home des Users auf der gleichen Platte wie die Uploads haben.
Ich bleibe dabei, CGI.pm wäre besser wenn es eine link() Methode hätte. Die Schnittstelle würde den häufigsten Anwendungsfall von Uploads erschlagen [*] , es wäre Performanter und der Anwender bräuchte sich darüber keinen Kopp zu machen. Außerdem könnte CGI so die Sonderfälle der "tmpfileverbergen"-Problematik besser greifen.
Hilft Dir aber nicht. Denn es ist kein Apache::Upload-Objekt, es bietet nur eine ÄHNLICHE Schnittstelle.
Tja aber ich werde mich auch hüten eine undokumentierte Routine von CGI zu nutzen um ans Tmpfile zu kommen... ;)
bye
Kurt
[*] OK ...vielleicht ist das Ablegen in Datenbanken häufiger ...