我有一个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”等。
请帮助我按照我想要的格式让它工作。感谢。
答案 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);