Hello,
da es hier auch viele gute C-Programmierer und Linuxer gibt (hoffe ich doch), mal ne Frage zu diesem Thema:
Ich war über einen Thread von nickigraus (oder so ähnlich) gestolpert und da auch was geantwortet, was aber trotz Anzeige "...im Forum lesbar..." im Nirwana verschwunden war (das nur so nebenbei).
Jedenfalls hat mich die Umbenennung der "Temporärdatei" vom Upload sehr gewundert, dass das gehen sollte. Hab ich natürlich gleich recherchiert und auch ausprobiert mangels Treffern. Und was soll ich sagen, man konnte diese "Temporärdatei" umbenennen. Nun habe ich nicht ausprobiert, ob sie mit geändertem Namen trotzdem noch auf dasselbe Handle reagiert... (ist noch nachzuholen).
Aber jedenfalls habe ich dabei festgestellt, dass es sich nicht um eine echte Temporärdatei, sondern um eine persistente Datei handelt, die durch das Runtimesystem bei Scriptende oder -abbruch wieder gelöscht wird.
Auch die Funktion tmpfile() in PHP liefert KEINE echte Temporärdatei, sondern eine persistente.
Ok, rüber zu C und geschaut, was das denn so macht unter Linux. (C ist auf DOS und auf Linux vorhanden, PHP leider nicht)
Na gut, da haben wir dann zu zweit gebastelt, was das Zeug hielt. Aber Linux wollte und wollte keine Datei anzeigen, wenn sie mit tmpfile() in C angelegt wurde. Dabei gabs doch gar keinen Fehler!
Dabei scheint die Datei aber tatsächlich angelegt zu werden und ganz brav am Ende des Programms wieder gelöscht zu werden, so wie sich das gehört. Wer kann mir nun sagen, wo Linux deine temporärdateien anlegt? Nur im Speicher und ggf. im Swapfile?
Und wer von den Windows-PHP-Leuten kann meirt sagen, ob PHP da mit tmpfile() eine echte Temporärdatei auf der Platte anleget oder auch nur eine persistente?
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen