phpbar.de logo

Mailinglisten-Archive

[php] filesize != real filesize?

[php] filesize != real filesize?

Jens Giessmann jg at handcode.de
Fre Feb 20 13:21:34 CET 2009


Hi,

On Fri, Feb 20, 2009 at 11:11:06AM +0100, [Tridem GmbH] Mailinglist wrote:
> wäre es also theoretisch möglich, vorher gecached und danach
> ungecached filesize() aufzurufen und dann zu vergleichen?

Du kannst filesize() natuerlich aufrufen bevor du mit clearstatcache()
den Cache explizit loeschst. Ob der Wert davor aber im Cahce lag
weisst du ja nicht sicher. Ich denke aber das filesize() generell
nicht dein Problem loest, s.u.

> Ich habe leider keine Angabe, wie gross die Datei im Endeffekt sein
> wird. Oder lieber die Datei "einlesen" und dann mit der echten
> Grösse vergleichen?

Wenn ich dich (auch anhand deiner anderen Mail) richtig verstehe,
willst du anhand der filesize pruefen ob die Datei schon komplett auf
den Server geladen wurde, richtig?

Wenn ja, hast du natuerlich ein Problem wenn du nicht sicher weisst
wie gross das File sein muss. Mit was willst du denn dann zuverlaessig
vergleichen?

Ich denke du solltest das Konzept deiner Upload/Import Jobs noch mal
ueberdenken. Jeder der Jobs muss dem anderen zuverlaessig mitteilen ob
er gerade noch laeuft oder mit der letzten Aktion fertig ist. Raten
oder vermuten ist keine Loesung ;-)

Als Anregung fuer dein Konzept hab ich auf die Schnelle gefunden:
http://de.wikipedia.org/wiki/Race_Condition
http://de.wikipedia.org/wiki/Schreib-Lese-Konflikt
http://en.wikipedia.org/wiki/File_locking#Lock_files
http://su2.info/uni/li/ipc_net_paper/node4.html

Gruss Jens

php::bar PHP Wiki   -   Listenarchive