PHP以日志格式记录计数器

时间:2018-05-25 03:42:56

标签: php

我有一个php计数器代码,记录从1开始的计数,依此类推。

我想将计数格式设为:YYYYMM-1,即201805-1,201805-2等。其中前四位是当前年份,接下来的两位是当前月份,连字符后面的下一位数是日志计数。

我的代码是:

$file = 'counter.txt';

$counter = 1;

if (file_exists($file)) {
    $counter += file_get_contents($file);
}
file_put_contents($file, $counter);

我尝试这样做:

$file = 'counter.txt';

$date = date('mY-');
$counter = intval($date) + 1;

if (file_exists($file)) {
    $counter += file_get_contents($file);
}
file_put_contents($file, $counter);

我在counter.txt中得到的结果为“156058”等。

请帮助我按照我想要的格式让它工作。感谢。

1 个答案:

答案 0 :(得分:1)

您当前的脚本正在将日期转换为整数,然后向其添加整数。

你想要的是保持字符串并在编写文件时将计数器连接到它。然后爆炸/拆分' - '当你阅读文件时:

<?php

   $file = "OUT";

   $date = date('mY-');
   $counter = 1;

   if (file_exists($file)) {
      $data = file_get_contents($file);
      $parts = explode('-', $data);
      $counter = $parts[1] + 1;
   }

   file_put_contents($file, $date . $counter);