[PHP] file_exists niet betrouwbaar

Pagina: 1
Acties:
  • 327 views

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik de volgende code in mijn pagina:
code:
1
2
3
4
    if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
        include($cachefile);
        exit;
    }

Het checkt of een bestand bestaat en het bestaand niet ouder is dan $cachetime. In dat geval include het $cachefile. In principe werkt dit goed, maar heel af en toe, probeert het toch $cachefile te includen, terwijl het helemaal niet bestaat. Ik krijg dan uiteraard de php-errors ("failed to open stream: No such file or directory ...").

Hoe kan het dat dan toch dat file_exists() blijkbaar 'true' teruggeeft?

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Je hebt de note op de manual page van file_exists gezien ?
Note: The results of this function are cached. See clearstatcache() for more details.
Wat gebeurt er als je voor deze test eerst clearstatcache aanroept ? (ervan uitgaande dat je meerdere bewerkingen binnen hetzelfde script op de cache-file uitvoert)

Acties:
  • 0 Henk 'm!

  • skabouter
  • Registratie: Oktober 2000
  • Laatst online: 20-08 08:55

skabouter

Skabouter

Note: The results of this function are cached. See clearstatcache() for more details.
Dat zegt al genoeg lijkt mij?

[edit]
te laat ;)

[ Voor 7% gewijzigd door skabouter op 14-06-2010 11:09 ]

[ Dislect ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TheRookie schreef op maandag 14 juni 2010 @ 11:09:
Je hebt de note op de manual page van file_exists gezien ?

[...]

Wat gebeurt er als je voor deze test eerst clearstatcache aanroept ? (ervan uitgaande dat je meerdere bewerkingen binnen hetzelfde script op de cache-file uitvoert)
Goed punt inderdaad, daar zit het probleem. Dank.

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

Volgende keer dus wat meer inzet alsjeblieft. Als anderen dit binnen een minuut op de manual page zien, had jij dat ook al lang moeten kunnen zien. Het algemeen beleid #quickstart

Anyone who gets in between me and my morning coffee should be insecure.


Dit topic is gesloten.