login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost] fclose() wil niet werken

Offline svm - 21/10/2006 13:36 (laatste wijziging 21/10/2006 14:03)
Avatar van svmPHP ver gevorderde Beste sima leden,

Ik heb een klein probleempje: fclose() wil niet werken.
Misschien zou je dan zeggen dat dit niet zo erg is, maar het schijnt wel belangrijk te zijn.
Indien je fclose() niet gebruikt, blijft het bestand open, en gaat de server trager werken.

Ik krijg de volgende warning:
Warning: fclose(): supplied argument is not a valid stream resource in /home/svm/public_html/index.php on line 23
Iemand die de oplossing weet?
Mijn site draait op PHP 4.4.2.

BVD,
Stefan


Edit:
De variable $fp die erin staat bestaat wel en is geldig.

6 antwoorden

Gesponsorde links
Offline Stijn - 21/10/2006 13:45
Avatar van Stijn PHP expert zet er eens het volgende onder fopen();

  1. <?php
  2. if( is_resource( $fp ) === true ) {
  3. echo "$fp is een geldig resource ". $fp;
  4. } else {
  5. echo "$fp is geen geldig resource ".$fp;
  6. }
  7. ?>


stijn
Offline svm - 21/10/2006 13:47
Avatar van svm PHP ver gevorderde Hij geeft aan dat hij niet geldig is, maar toch bevat hij een waarde en schrijft hij informatie weg.
Offline Stijn - 21/10/2006 13:52
Avatar van Stijn PHP expert en geef je code eens, want als php aangeeft dat het niet geldig is dan zal hij niet geldig zijn 
Offline svm - 21/10/2006 13:53 (laatste wijziging 21/10/2006 13:54)
Avatar van svm PHP ver gevorderde
  1. <?
  2. $logfile = "hits.log";
  3.  
  4. if(file_exists($logfile)){
  5. $hits = file_get_contents($logfile);
  6. $fp = fopen($logfile, "w+");
  7. $fp = fwrite($fp, $hits + 1);
  8. fclose($fp);
  9. }
  10. $hits = $hits++;
  11. ?>

Erg om te verliezen van mijn PC .
Offline Stijn - 21/10/2006 13:58
Avatar van Stijn PHP expert jach $fp zal een boolean bevatten je moet die fwrite() niet in een variable zetten of toch niet in zijn resource variable , hij gebruik die $fp in fwrite niet voor niets 
  1. <?php
  2. $logfile = "hits.log";
  3.  
  4. if(file_exists($logfile)){
  5. $hits = file_get_contents($logfile);
  6. $fp = fopen($logfile, "w+");
  7. fwrite($fp, $hits + 1);
  8. fclose($fp);
  9. }
  10. $hits = $hits++;
  11. ?>
PHP.net: fwrite
dit zal al beter werken 

ps: de pc wint nooit want als de pc zou winnen zou hij ons telkens de oplossing vertellen voor ieder probleem 

stijn
Offline svm - 21/10/2006 14:01
Avatar van svm PHP ver gevorderde O, dom, ik ben nogal druk bezig dus ik heb dit natuurlijk over het hoofd gezien.
Maar bedankt!

@Crew:
Opgelost!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.226s