Avatar billede snuseren.dk Nybegynder
28. november 2004 - 19:39 Der er 11 kommentarer og
1 løsning

Lægge 1 til et tal

Hej

Jeg har et tal, som jeg henter ned fra en tekstfil. Problemet er, at jeg ikke kan plusse det tal med 1, da computeren opfatter tegnene i tekstfilen som bogstaver. Hvordan får jeg lavet det om til en talvariabel?

Koden:
  $fil = fopen(fil.txt,"r");
  $filindhold = fgets($fil,1024);
  $filindholdplus = $filindhold+1;

mvh. Anders
Avatar billede ellebaek Nybegynder
28. november 2004 - 19:50 #1
$fil = fopen(fil.txt,"r");
  $filindhold = fgets($fil,1024);
  $filindholdplus = ((int)$filindhold)+1;

prøv sådan her..
Avatar billede snuseren.dk Nybegynder
28. november 2004 - 19:56 #2
Det virker ikke :-(
Avatar billede Slettet bruger
28. november 2004 - 20:34 #3
måske hvis du siger $indhold = trim($filindhold);

det virker sikkert ikke, men prøv alligevel :P
Avatar billede snuseren.dk Nybegynder
28. november 2004 - 20:59 #4
Nej, det virker heller ikke :-(
Avatar billede Slettet bruger
28. november 2004 - 21:00 #5
ok
Avatar billede hmortensen Nybegynder
28. november 2004 - 22:38 #6
Det her virker fint.
<?php
$fil = fopen("fil.txt","r");
$filindhold = fgets($fil,1024);
$filindholdplus = $filindhold+1;
echo $filindholdplus;
?>
Avatar billede snuseren.dk Nybegynder
29. november 2004 - 13:38 #7
ok, men når jeg så lægger det tal der kommer ud af $filindholdplus ind i tekstfilen, sker der ingen ændring i filen.
Avatar billede snuseren.dk Nybegynder
29. november 2004 - 13:54 #8
Det er rigtigt, det virker åbenbart. Så må det være når den skal opdatere filen med det nye tal, problemet ligger.

Den samlede kode ser sådan ud:
  $answer = $_GET['answer'];
  $filnavn = $answer;
  $fil = fopen($filnavn,"r");
  $filindhold = fgets($fil,1024);
  $filindholdplus = $filindhold+1;
  echo $filindholdplus;
  fwrite($fil,$filindholdplus);
  fclose($fil);

Er der nogen der kan se, hvorfor den ikke opdaterer filen med det nye tal?

mvh. Anders
Avatar billede hmortensen Nybegynder
29. november 2004 - 14:06 #9
Fordi du kun åbner filen til læsning.
Det her virker (kan sikkert gøres smartere):
<?php
$fil = fopen("fil.txt","r");
$filindhold = fgets($fil,1024);
$filindholdplus = $filindhold+1;
echo $filindholdplus;
fclose($fil);
$fil = fopen("fil.txt","w");
fwrite($fil,$filindholdplus);
fclose($fil);
?>
Avatar billede snuseren.dk Nybegynder
29. november 2004 - 14:16 #10
Tak!

Det fandt jeg også lige ud af (http://razor.dk/php/guider/streams/)

Læg et svar! :-)
Avatar billede hmortensen Nybegynder
29. november 2004 - 14:43 #11
Du kan slå op i php's egen manual:
http://php.net/funktionsnavn

http://php.net/fopen
Avatar billede snuseren.dk Nybegynder
29. november 2004 - 16:01 #12
Ok. Takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester