本文目录一览:
- 1、怎样用php实现两个时间相减,得到相差的天数
- 2、php 实现二级域名的解析
- 3、php如何实现两台服务器数据库同步问题 - 技术问答
- 4、PHP如何实现计算两个时间段是否有交集
- 5、PHP实现数字补零功能的2个函数介绍
- 6、php如何实现两台服务器共用一个数据库,
怎样用php实现两个时间相减,得到相差的天数
?php
$time1 = mktime(10,20,30,2,5,2000); //2000-2-5 10:20:30
$time2 = mktime(18,30,20,5,2,2000); //2000-5-2 18:30:20
$diff = (int)(($time2-$time1)/(24*3600));
echo "$time2 和 $time1 的时间差为:" . $diff . "天br";
?
php 实现二级域名的解析
htaccess可以实现 不需要php
Options FollowSymLinks
RewriteEngine On
#测试子域名
RewriteCond %{SERVER_NAME} ^(www.)?subdomain.mydomain.com [NC]
#避免重复重定向
RewriteCond %{REQUEST_URI} !^/subdomain/ [NC]
#重定向到子目录
RewriteRule ^(.*)$ subdomain/$1 [L]
php如何实现两台服务器数据库同步问题 - 技术问答
基于数据库 Log 日志分析可以实现,网上搜一下 CDC 数据同步。。
不过你也可以尝试下 cloud.tapdata.net , 一个在线的数据同步工具,支持一次性全量同步,也支持实时的增量同步。
PHP如何实现计算两个时间段是否有交集
转换为时间戳
?php
//例子
$astart = strtotime("1995-02-15 13:12:22");//第1个开始
$aend =strtotime("2005-02-15 13:12:22");//第1个结束
$bstart =strtotime("2003-02-15 13:12:22");//第2个开始
$bend = strtotime("2015-02-15 13:12:22");//第2个结束
if ($bstart - $astart 0)
{
if ($bstart - $aend = 0)
{
echo date('Y-m-d H:i:s',$bstart).'-----'.date('Y-m-d H:i:s',$aend);
}
}
else
{
if ($bend - $astart 0)
{
echo date('Y-m-d H:i:s',$astart).'-----'.date('Y-m-d H:i:s',$bend);
echo "hr";
}
}
输出
2003-02-15 13:12:22-----2005-02-15 13:12:22
PHP实现数字补零功能的2个函数介绍
在PHP中至少有两个函数能够帮助我们快速实现数字补零:
首先是PHP
str_pad函数:
复制代码
代码如下:#str_pad
—
使用另一个字符串填充字符串为指定长度
顾名思义这个函数是针对字符串,对指定的字符串填补任何其它的字符串
str_pad参数说明:
复制代码
代码如下:string
str_pad
(
string
$input
,
int
$pad_length
[,
string
$pad_string
=
"
"
[,
int
$pad_type
=
STR_PAD_RIGHT
]]
)
#常用参数说明:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)
其中填补后的长度必须是个正整数,填补位置有三个选项,
左边:STR_PAD_LEFT
右边:STR_PAD_RIGHT
两端:STR_PAD_BOTH
实例展示:
复制代码
代码如下:echo
str_pad(1,8,"0",STR_PAD_LEFT);
#结果:00000001
echo
str_pad(1,8,"0",STR_PAD_RIGHT);
#结果:10000000
echo
str_pad(1,8,"0",STR_PAD_BOTH);
#结果:00010000
在上边的例子中值得注意的一个细节是,如果填补的位数是个奇数,例如例三中填补了7个0,右边优先。
下面再看下补零的另外一种方法:
PHP
sprintf函数:
复制代码
代码如下:#sprintf
—
返回一个格式化字符串
这个函数用起来比较灵活,有待学者们深挖,这里主要讲实现数值左边补零(或者在小数点后补零)的处理方式;
先看左边补零
复制代码
代码如下:echo
sprintf("%05d",1);
#
%05d的意思:用一个5位数的数字格式化后边的参数,如果不足5位就补零
#
运行结果是00001
再看小数点后补零
复制代码
代码如下:echo
sprintf("%01.3f",1);
#
%01.3f的意思:用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数
#
运行结果是:1.000
另外还可以自己编写一个自定义函数进行处理;
编写代码各有所优也有所劣,大家可以任选适合的;
注:sprintf能够保证不至于误操作把1补成1000000,str_pad可以保证想补啥补啥。
php如何实现两台服务器共用一个数据库,
在一台服务器上安装数据库,并开通外网访问功能;
另一个服务器PHP程序配置数据库时,填写装有数据库服务器IP地址,如:
:8080(或者填写ip地址,MySQL数据库默认是3306端口)
然后配置填写正确的数据库名,数据库账号和密码即可。