Homepage selbermachen 7.852 Themen, 35.619 Beiträge

PHP Counter ich blick nicht ganz

T E S T E R / 1 Antworten / Baumansicht Nickles

Hi, ich habe mir heute morgen mal die Mühe gemacht,
einen textbasierenden Counter zu basteln (PHP):

$filename ="counter.txt";
$fp = fopen ("$filename", "r+");
$lesen = fread ($fp, 7);
$schreiben = (int) $lesen;
$schreiben = $schreiben +1;
rewind ($fp);
fwrite ($fp, $schreiben);
$zeile = explode ("\\n","$lesen");
echo $zeile[0];
fclose($fp);
?>

Nach ewiger Rätselei hab ich dann die Zeile rewind ($fp)
in einem schon bestehenden Counter einer Seite entdeckt
Dies war des Rätsels Lösung, meine Frage:

  • Wozu ist dieser Befehl gut.

    Meine Zweite Frage: wieso kann ich statt dem Befehl (int)
    nicht einfach die ganze Datei normal einlesen, wieso muss
    ich sie initialisieren??
bei Antwort benachrichtigen
xafford T E S T E R „PHP Counter ich blick nicht ganz“
Optionen

rewind macht nichts anderes, als den dateizeiger an den anfang einer datei zurücksetzen. also wenn du eine folge von bytes gelesen hast steht der zeiger am ende des letzten bytes, wenn du diese überschreiben willst, musst du wieder an den anfang. der datei, da du sie mit dem attribut r+ geöffnet hast.
das (int) bedeutet nicht initialisieren, sondern du deklarierst die variable in einen integerwert um, was nciht unbedingt nötig ist, da php variablen dynamisch von typ her anpasst, was in dem fall wie du ihn hast ausreichend vor fehlern schützt.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen