Een waarde "her evalueren"

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan

Jan

16/05/2008 13:07:00
Quote Anchor link
Hoi,

ik heb een stukje code, dat als volgt gaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$offset = $_POST.....
$done = filesize($r['path']);
if($done == $offset){
    $f = fopen($r['path'], 'a');
    fwrite($f, base64_decode( $_POST['b']));
    fclose($f);
    echo 'true||'.filesize($r['path']);
}


Terwijl iedere keer duidelijk bytes worden weggeschreven door fwrite (meestal 100kb) is de filesize die hij onderaan gemeten (bij echo 'true||'.filesize($r['path']);) evengroot als de filesize bovenaan gemeten. Dit vind ik raar.

Mijn aanname
PHP slaat, om rekenkracht te besparen, de waarde filesize($path) op, en wanneer dit een tweede keer wordt gevraagd, stuurt hij dezelfde waarde terug. Ik weet het niet zeker, maar alles wijst er in dit geval op.
Dit is voor mij erg vervelend. Is er een manier om PHP expliciet de opdracht te geven om deze waarde opnieuw te berekenen en niet de oude uit het geheugen te hergebruiken?
 
PHP hulp

PHP hulp

05/01/2025 11:40:21
 
Derk nvt

Derk nvt

16/05/2008 13:20:00
Quote Anchor link
Probeer na de eerste keer filezise opgevraagd te hebben de volgende functie eens uit te voeren:
clearstatcache()

Volgens mij moet dat helpen.

Derk
 
Jan

Jan

16/05/2008 13:45:00
Quote Anchor link
Thnx! Probleem is hiermee opgelost :)
 

16/05/2008 16:18:00
Quote Anchor link
Weetje op filesize (php.net) staat:
php.net/filesize:
Notes

Note: The results of this function are cached. See clearstatcache() for more details.



:-)
 
Jan

Jan

16/05/2008 16:19:00
Quote Anchor link
ik zie het, heb er overheen gelezen. Wat het helemaal stom maakt, is dat ik eerder een keer een dergelijk probleem heb gehad... alleen dat herinnerde ik me net pas....

Het is alweer vrijdag middag, dat zal het probleem zijn denk ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.