php - 从 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);
?>
解决方案
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"); ?>
我希望这有帮助。
推荐阅读
- powershell - 从 PowerShell 表单 Jenkins 调用长 NAnt 进程(使用管道)
- flutter - Flutter:在 TextFormField 中同时显示 helpText 和 labelText
- c++ - 如何在 Visual Studio Code 的终端内运行 C++ 代码?
- python - 如何按用户聚合具有会话范围复杂性的数据帧?
- excel - Excel VBA:如何在“@”处用商业写列名
- react-admin - 为什么某些输入组件在选择选项时会执行 GET_MANY 查询?
- c# - ASP.NET核心中的红隼服务器可以在启动时配置空闲超时吗
- javascript - 我的不和谐音乐机器人播放音乐很好,1 天后,没有任何变化,它给了我一个错误
- python - 功能工具 cutoff_time 无法正常工作
- sql - 在 PostgreSQL 列中搜索子字符串