[PHP]Sskrypt z pętlą


(Podeszwaaaaaa) #1

Próbuje zbudować skrypt dodający kolejne liczby czyli:

1

2

3

..

<?php

$plik=file("plik.txt");

$liczba_poczatkowa="1";

$liczba_dodawana="1";

$dodana_liczba=$liczba_poczatkowa+$liczba_dodawana;

$fp=fopen("plik.txt", "w+");

fwrite($fp, $dodana_liczba);

?>

To jedynie daje mi że "1" jest dodana do "liczby początkowej".

Jak to zapętlić by do wyniku została dodawana "liczba_dodawana"

Chyba że da się to zrobić prościej.


(Jim1961) #2

powinno być:

$liczba_poczatkowa=1;

$liczba_dodawana=1;

bo z nawiasami to już nie liczba a ciąg znaków


(master of disaster) #3

Chciałeś powiedzieć cudzysłowami ;]


(Jim1961) #4

Fakt - pomroczność jasna :slight_smile:


(Hausner15) #5

Pewnie chcesz mieć licznik odwiedzin :slight_smile:

$plik=file("plik.txt");

$fp=fopen("plik.txt", "w");

fwrite($fp, ++$plik);

fclose($fp);

To na tyle, jeżeli chcesz dodawać więcej niż jeden do pliku to zamiast ++$plik robisz $plik + liczba

oczywiście w zmiennej $plik masz to co zostało zczytane z pliku

Pozdro


(Damgora) #6

To ja też wrzucę swoje 3 linijki :wink: (wymagane php5)

<?php

$plik = file_get_contents('plik.txt');

if ($plik<1) $plik = 0;

file_put_contents('plik.txt', $plik+1);

?>

(athei) #7

i obiektowo licznik

$fileinfo = new SplFileInfo('licznik.txt');

if ($fileinfo->isFile()) {

  $fileobj = $fileinfo->openFile('r+');

  $l = $fileobj->current();

  $fileobj->rewind();

  $fileobj->fwrite(++$l);

} else {

  $fileobj = $fileinfo->openFile('w');

  $fileobj->fwrite(1);

}