webForumDet fria alternativet

Skriva en siffra till ett .txt-dokument

PHP

6 svar · 452 visningar · startad av dude

Medlem sedan aug. 2002386 inlägg
Frågan#1

hello!
jag har en deltagarlista uppbyggd med php på min hemsida, till den har jag ett forumlär där jag skriver in när det tillkommer en ny deltagare så sparas det i en mysql databas.
Nu skulle jag vilja att samtidigt som jag lägger till en ny deltagare och skickar det med formuläret så ska även ett textdokument som heter antal.txt öppnas och ersätta allt som står där med hur många som finns med på deltagarlistan. Tex. genom att bara räkna raderna i databasen och skriva siffran i textdokumentet.

Ska senare ha antal.txt till att bygga in i en swish-fil som visar hur många som finns med på deltagarlistan...

ojoj, mycket text, misstänker att detta är ganska simpelt...

Medlem sedan juli 20033 147 inlägg
#2

Ta en titt på fwrite() så löser det sig säkert.

Medlem sedan maj 2004693 inlägg
#3

Om du har php5 så kan du köra på:

file_put_contents("antal.txt", file_get_contents("antal.txt")+1);
Medlem sedan aug. 2002386 inlägg
#4

Efter lite testande inser jag att jag nog inte har php5, för kobranturres förslag funkar inte alls :(

Och eftersom mina php-kunskaper är så begränsade får jag heller inte koll på hur jag använder fwrite() så den fungerar som jag vill...

Slutsats, jag behöver fortfarande hjälp!!!!! :)

Medlem sedan mars 2000267 inlägg
#5

Kanske något ått det här hållet. Koden är dock inte testkörd.

<?php
$filename = 'alt.txt';
if (!$handle = fopen($filename, 'r+')) 
{
	echo "Cannot open file ($filename)";
	exit;
}

$content = fread($handle, filesize($filename));
$content++;
fwrite($handle, $content)

fclose($handle);
?>
Medlem sedan mars 2000267 inlägg
#6

Hittade iofs den här koden på php.net. Så jag misstänker att min kod inte riktigt funkar..missade rewind.

<?
$file = "counter.txt";

$handle = fopen ($file, 'r+'); // Let's open for read and write
$count = fread ($handle, filesize ($file));
settype ($count,"integer");

rewind ($handle); // Go back to the beginning

fwrite ($handle, ++$count); // Don't forget to increment the counter
fclose ($handle); // Done 

?>
Medlem sedan aug. 2002386 inlägg
#7

tack tack!!! Grymt bra!!!

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