/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problem med simpel counter
Fra : Lars Axberg


Dato : 24-02-03 01:23

Hej ng

Jeg bruger nedenstående kode i min index fil for, at have en simpel counter,
men problemet er at den skriver ikke noget til filen som den burde! Er der
noget galt med koden eller er det webhotellet ?

<?php
$fp = fopen("count.txt","r");
$input = fgets($fp,1024);
fclose($fp);
$input++;
$fp = fopen("count.txt","w");
fputs($fp,$input);
fclose($fp);
?>

--
-----------
Lars Axberg
"FrontPage høre hjemme i papirkurven på skrivebordet.
Det program har det best, når man aldrig bruger det."
Citat: Peter Ole Kvint





 
 
Kristian de Linde (24-02-2003)
Kommentar
Fra : Kristian de Linde


Dato : 24-02-03 13:18

Lars Axberg wrote in dk.edb.internet.webdesign.serverside.php:
> Hej ng
>
> Jeg bruger nedenstående kode i min index fil for, at have en simpel counter,
> men problemet er at den skriver ikke noget til filen som den burde! Er der
> noget galt med koden eller er det webhotellet ?
>
> <?php
> $fp = fopen("count.txt","r");
> $input = fgets($fp,1024);
> fclose($fp);
> $input++;
> $fp = fopen("count.txt","w");
> fputs($fp,$input);
> fclose($fp);
> ?>
>
> --
> -----------
> Lars Axberg
> "FrontPage høre hjemme i papirkurven på skrivebordet.
> Det program har det best, når man aldrig bruger det."
> Citat: Peter Ole Kvint
hej
det her virkede for mig:
<?php
if (file_exists("number.txt")) {
$fil = fopen("number.txt","r");
$indhold = fread($fil,filesize("number.txt"));
fclose($fil);

$fil = fopen("number.txt","w");
fputs($fil,$indhold+1);
fclose($fil);
}
?>
mvh kristian


--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

Jonas Koch Bentzen (24-02-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 24-02-03 15:50

Kristian de Linde wrote:
>
> $fil = fopen("number.txt","r");
> $indhold = fread($fil,filesize("number.txt"));
> fclose($fil);

....eller bare:

$indhold = file_get_contents("number.txt");

Dér behøver man hverken at åbne eller lukke filen.

Bemærk, at funktionen først findes fra PHP 4.3.0.

http://dk.php.net/manual/en/function.file-get-contents.php

--
Jonas Koch Bentzen

http://findhim.com/

Larz (24-02-2003)
Kommentar
Fra : Larz


Dato : 24-02-03 15:22

"Lars Axberg" <axberg@person.dk> wrote in
news:wBd6a.25953$CG6.425286@news4.e.nsc.no:
> Jeg bruger nedenstående kode i min index fil for, at have en simpel
> counter, men problemet er at den skriver ikke noget til filen som den
> burde! Er der noget galt med koden eller er det webhotellet ?
>
> <?php
> $fp = fopen("count.txt","r");
> $input = fgets($fp,1024);
> fclose($fp);
> $input++;
> $fp = fopen("count.txt","w");
> fputs($fp,$input);
> fclose($fp);
> ?>

Well, du skal sørge for at webbrugeren har rettigheder til at skrive til
filen...

En bedre løsning ville være:

$cnt = implode('',file('count.txt'));
$cnt++;
$fp = fopen('count.txt','w');
flock($fp,LOCK_EX);
fwrite($fp,$cnt);
flock($fp,LOCK_UN);
fclose($fp);

Så risikerer du ikke at nogen læser en tom fil...

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
To mail me remove your pants.

Lars Axberg (24-02-2003)
Kommentar
Fra : Lars Axberg


Dato : 24-02-03 20:08

"Larz" <lp@your-pants-coder.dk> wrote in message
news:Xns932C9C4D56C46godlarz@62.243.74.162...
> "Lars Axberg" <axberg@person.dk> wrote in
> news:wBd6a.25953$CG6.425286@news4.e.nsc.no:
> Well, du skal sørge for at webbrugeren har rettigheder til at skrive til
> filen...

Det var der problemet var.... tak!

--
-----------
Lars Axberg
"FrontPage høre hjemme i papirkurven på skrivebordet.
Det program har det best, når man aldrig bruger det."
Citat: Peter Ole Kvint




Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408541
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste