首页 > 解决方案 > 从 fread 函数中获取数据时显示双数据的计数器

问题描述

我在 PHP 中创建了一个计数器函数,这意味着如果有人访问或访问了一个网页,那么它将在 file.txt(它包含计数的数量)和网页上显示计数。但现在我想从 file.txt 中获取计数并将其显示在另一个页面上。我尝试了 PHP fread 操作,但它显示双倍计数。假设如果实际计数为 10,则在从 fread 获取它后显示 1010。

我使用此代码从 file.txt 中获取计数以将其显示到另一个页面。

<?php 
$file = fopen("counter.txt", "r") or die("Unable to open file !");
echo fgets($file);
//fread($file,filesize("counter.txt"));
fclose($file);
?>

标签: php

解决方案


Counter TEXT 是非常基础的。对于写入counter.txt文件,您的代码似乎还可以:

<?php
$handle = fopen("counter.txt", "r");
if (!$handle) {
  echo "could not open the file";
} else {
  $counter = (int)fread($handle,20);
  fclose($handle);
  $counter++;
  $handle = fopen("counter.txt", "w");
  fwrite($handle, $counter);
  fclose($handle);
}
?>

您可以在开始时另存为write_counts.php并调用到您的 php 文件中:

<?php include("write_counts.php"); ?>

为了阅读您的内容counter.txt,您可以使用:

<?php $counter = file_get_contents("counter.txt"); echo ($counter == 1) ? "Visitor: $counter" : "Visitors: $counter"; ?>

您可以保存为read_counts.php并调用到您喜欢的 php 文件中......使用:

<?php include("read_counts.php"); ?>

我希望这有帮助。


推荐阅读