我正在尝试使用php创建一个访客计数器,该计数器将每天创建yy-mm-dd.txt
,并包含当天的访问者数量,并且在凌晨12点之后它将创建一个新的yy-mm-dd.txt
文件。
例如,今天是2019-06-02,因此文本文件将为2019-06-02.txt
,第二天将自动创建2019-06-03.txt
文件。
这是我尝试过的方法,但是12 AM之后并没有创建新的2019-06-03.txt
文件。它保留相同的2019-06-02.txt
文件
<?php
$date = date('Y-m-d');
$fp = fopen('dates/'.$date.'.txt', "r");
$count = fread($fp, 1024);
fclose($fp);
$count = $count + 1;
$fp = fopen('dates/'.$date.'.txt', "w");
fwrite($fp, $count);
fclose($fp);
?>
如何解决?
答案 0 :(得分:1)
最好使用file_get_contents,然后使用file_put_contents
<?php
$count = 1;
$content = file_get_contents(date('Y-m-d').'txt');
if($content !== FALSE){
$count+=1;
}
file_put_contents(date('Y-m-d').'txt', $count);
?>
答案 1 :(得分:0)
您的代码应该可以正常工作。我们还可以添加is_dir
和file_exists
检查,并且可以使用fopen
,fwrite
和fclose
或file_get_content
/ {{1} }(如果我们喜欢)。我们还可以添加file_put_content
,例如:
default_timezone
然后,我们的代码类似于:
date_default_timezone_set("America/New_York");