Устранение неполадок PHP fwrite: перезаписать int для счетчика - PullRequest
0 голосов
/ 02 ноября 2011

Небольшой отказ от ответственности: это мой второй проект PHP и первый язык сценариев, с которым я работал.

Эта небольшая песня - шлюз для реализации счетчика.Дело в том, что он работает, но не увеличивается правильно.Файл count.txt сохраняет начальное значение 0 (в верхней строке) и последовательно добавляет 1 во вторую строку (при каждом запуске, например, «1111»).Результирующее эхо - «Текущее количество: 1», каждый раз.

В нескольких уроках, которые я видел, fopen ('r') - оригинал для добавления / вывода, затем fopen ('w')снова, чтобы сохранить.Я попробовал это, которое абсолютно работает.Я просто исследую, можно ли это объединить.Любое понимание того, почему он переходит на вторую строку, или предложения в целом очень приветствуются.

<?php
$countfile = "count.txt";
$counthandle = fopen($countfile, "r+");
$count = intval(@fread($counthandle, filesize($countfile)));
$count++;
echo "Current count: ";
echo $count . "<br/>\n";
fwrite($counthandle, $count);
fclose($counthandle);
?>

1 Ответ

0 голосов
/ 02 ноября 2011

Попробуйте использовать file_get_contents и file_put_contents

<?php
$countfile = 'count.txt';
$count = intval(file_get_contents($countfile));
$count++;
printf ("Current count:<br />%s", $count);
file_put_contents($countfile, $count);
?>
...