PHP拍卖页倒计时开发:如何仅在拍卖最后10分钟出价时顺延10分钟
PHP拍卖倒计时顺延规则修改方案
修改逻辑
原有逻辑是每次出价都固定顺延拍卖时间,调整后新增时间差校验规则:
- 先计算当前时间距离拍卖结束的剩余时长
- 仅当剩余时长 ≤ 10分钟、且拍卖尚未结束时,才触发顺延10分钟的操作
- 原代码里顺延时长为300秒(5分钟),和需求的10分钟不符,同步修正为600秒,如需保留5分钟顺延可自行调整数值
修改后代码
// 获取拍卖原结束时间 $expiry_date = get_post_meta($_POST['pid'],'listing_expiry_date',true); // 转成时间戳格式 $expiry_timestamp = strtotime($expiry_date); // 获取当前服务器时间戳 $current_timestamp = time(); // 计算拍卖剩余时长(单位:秒) $remaining_seconds = $expiry_timestamp - $current_timestamp; // 校验:拍卖未结束 + 剩余时间小于等于10分钟(600秒) if ($remaining_seconds > 0 && $remaining_seconds <= 600) { // 符合条件则顺延10分钟 $new_expiry_date = date("Y-m-d H:i:s", $expiry_timestamp + 600); update_post_meta($_POST['pid'],'listing_expiry_date', $new_expiry_date); }
注意事项
- 要确保服务器时间和前端展示的倒计时时间基准一致,避免出现前端显示剩余时长和后端计算不符的问题
- 可根据业务需要额外增加出价用户身份、出价金额合法性校验,避免恶意刷单顺延拍卖时间的情况
内容的提问来源于stack exchange,提问作者Matija Raša
相关产品推荐
相关产品推荐

