hi,
Damit ich mir nun das zwischenspeichern der Datei auf im Filesystem sparen kann, habe ich mir überlegt, die Datei nach dem Upload vom Temp-Verzeichnis mit file_get_contents in eine Session-Variable abzulegen, bis alle Upload-Schritte erfolgreich waren.
Keine gute Idee - massiv erhöhter Arbeitsspeicher-"Verbrauch".
Haltet ihr das für eine Schnapsidee?
Ja.
Und gibt es Beschränkungen für die Grösse einer Session, bzw. deren Variablen?
$_SESSION ist eigentlich eine "stinknormale" Variable.
Und die teilt sich mit allen anderen, und dem was dein Script sonst noch so an Speicher belegt, das, was memory_limit hergibt.
So könnte ich mir die Probleme mit "Geisterdateien" nach abgebrochenen Uploads sparen, da ja die Sessions nach einem bestimmten Zeitraum automatisch gelöscht werden.
Die kann man ja auch selber löschen - bspw. mit einem per Cronjob einmal täglich gestarteten Script, welches alle Dateien älter als X wegputzt.
Alternativ könnte man auch die hochgeladenen Dateien erst mal ins Session-Temp-Verzeichnis "sichern" - in der Hoffung, dass der Garbage Collector des Session-Mechanismus dann nach Ablauf von session.max_lifetime in Bezug auf ihren Timestamp sie ebenfalls mit wegputzt ...
Da bin ich mir allerdings nicht ganz sicher, ob und wie das funktionieren würde; ob man bestimmte Dateinamen wählen müsste (die Session-Dateien "ähnlich" sehen) - und es erscheint mir auch ein wenig zu "verwegen"; wäre bspw. nicht auszuschliessen, dass sich dass dann auf die Performance der Sessions allgemein auswirkt, wenn in deren Verzeichnis wirklich große Dateien rumlungern.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }