网站上有的时候需要两组电话,一组是直通座机号码,一组是400客服电话。由于400电话需要转接,因此在速度上没有座机快。但是座机在夜间和节假日会存在无人值班接听的可能,这时我们就需要使用400电话的转接功能来非费正常工作时间的客户来电转接到客服的移动电话上。本文将以深圳网站建设公司创络自己的作息时间为例,加以逻辑说明。
除法定节假日外,我们公司的正常上班时间是周一至周五,上午是9点至12点,下午是13:30至18点。因此,我们的需求是:在正常上班时间段内,客户访问我公司网站的时候显示0755-36978973座机号码,其他时间一律显示为400电话。逻辑清楚了,那么程序上就能够很容易的实现了。
在数据库中存入两组电话,分别是0755-36978973和0755-23698839。然后在程序中读出这两个电话号码,判断3个条件后显示对应的电话号码。用PHP判断这三个条件的详细代码如下:
判断当前日期是否节假日
根据实际情况,首先将下一周期年中的全部法定假日的月份和号数连起来,并构建一个数组。然后使用date(´md´);获取当前日期的月份及号数,以当前时间为例:1218,去判断当前日期是否为法定节假日。值得注意的时,每年放假日期有所不同,因此这个法定假日数组每年需要根据实情更新一次。
判断当前日期是否周末
PHP中有一个date()函数,可以十分方便的通过date("w")获取当前是星期几,注意返回值为0时是星期日、返回1时是星期一、返回2时是星期二,以此类推。
判断当前时间是否为上班时间
同样是利用date()函数来操作,使用date("Hi");获取当前时间的小时数和分钟数,结果是一个4位数。
以上3个条件组合起来,就可以精确的实现上班时间显示能快速接通的直通电话,其他时间段显示能够转接到任意电话上的400电话。需要注意的时,在使用以上方法的时候,需要设置时区:date_default_timezone_set(´Asia/Shanghai´);。以下为我公司2015年控制网站上不同时间段显示不同的客服电话的参考代码:
$cl_restday=date(´md´);//获取当前月份和号数,如:1218
$cl_workday=date("w");//获取当期是星期几,如:4
$cl_time=date("Hi");//获取当前小时数和分钟数,如:1415
$rest_day = array(´0101´,´0102´,´0103´,´0218´,´0219´,´0220´,´0221´,´0222´,´0223´,´0224´,´0405´,´0406´,´0501´,´0620´,´0621´,´0622´,´0927´,´1001´,´1002´,´1003´,´1004´,´1005´,´1006´,´1007´);
if(($cl_workday >0 and $cl_workday <6) and (!in_array($cl_restday,$rest_day)) and (($cl_time>900 and $cl_time<1200) or ($cl_time>1330 and $cl_time<1800)))
{
//显示座机
}
else
{
//显示400电话
}
由于我们的网站使用了转义字符,因此在实际使用的时候,大家不可以直接复制以上代码。请复制粘贴到Dreamweaver等编辑器后,使用替换功能把双引号全部替换为英文状态下的双引号,然后再根据自己的实际需要修改代码,以实现更多功能。