Varför fungerar inte denna enkla kod?

PHP

2 svar · 141 visningar · startad av Kosse

Medlem sedan juni 2000162 inlägg
Trådstart#1

$fp=fopen("fil$id.txt","r");
$tal=fgets($fp,1024);
fclose($fp);

$tal++;

$fw=fopen("fil$id.txt","w");
fputs($fw,$tal);
fclose($fw);

Använder denna enkla kod för att logga antal nedladdningar.

Fungerar SÅÅÅ fint förutom att den ökar siffertalet med 2 varje gång... Varför? Har provat att lägga till -1 men då plussar den inte på något alls. Jädrans irriterande.

Medlem sedan feb. 20001 050 inlägg
#2

För att du kör koden två gånger ;)

Medlem sedan juni 2000162 inlägg
#3

Något mysko är det...

Tror jag hittat en möjlig förklaring till detta lite udda problem. Verkar vara den webbläsare jag använder som kontaktar adressen (scriptet) två gånger. En gång för att kolla om filen finns där och sedan för att ladda ner den. Explorer 5 till mac är det. I alla andra läsare verkar det fungera. Alltså inget fel på PHP-koden utan något mysko i min webbläsare...

267 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)