标签为 "Php" 的存档

在windows下iis与apache共存80端口!通过各自的域名分别访问,不用加端口号(虚拟主机+代理)

一:环境说明:

1、apache 对php支持很好,iis对php支持也不错。但是apache对asp支持(除非装一个低效率的asp插件)很差劲。
2、iis对虽然能同时支持asp/php,但对于现在流行的urlrewrite 也就是静态网址就不如apache 的url重写效率高。虽然iis能装个rewrite插件(也是低效率),但不支持iis上的虚拟主机的url重写,只能对根网站、或者默认网站支持。apache的杀手锏就是支持虚拟主机的.htaccess 。所以apache的虚拟主机就可以随意支持url重写了。

Read more…

PHP mysql_fetch_assoc() 函数

定义和用法

mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。不再包含数字索引

返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。

语法

mysql_fetch_assoc(data)参数 描述

data 必需。要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。

提示和注释

Read more…

PHP 判断FORM来的POST数据是否为整数,转化成整数

is_int()函数对于FORM过来的POST数据是不能判断是否为整数的,因为FORM过来的是字符串。

但是用is_numeric可以判断是否为数字类型,只要再动懂脑子就可以用个偷巧的办法,判断是不是整数了。

if(!is_numeric($postn)||strpos($postn,”.”)!==false){
echo “不是整数”;
}else{
echo “是整数”;
}

转化成整数:
使用一个函数即可:
intval()

php时区设置 time() 差8个小时解决办法

使用time()函数 取出来的时间总是和本地时间老差8个小时,但系统设置确实已经是中国标准时(GMT+8),经过google,找到了问题原因:

原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间 和我们的时间(北京时间)差了正好8个小时,有以下2种方法可以恢复正常的时间。

1、修改php.ini。打开php.ini查找 ;date.timezone = 去掉前面的分号= 后面加上你需要的时区名称,重启http服务(如apache2或iis等)即可.

2、如果不能修改php.ini,或者说你是在为别人做程序,那么他可能不会修改php.ini,这就需要自己麻烦一下,在需要在关于时间的初始化的语句的上面加上 date_default_timezone_set (时区名称);

常用的时区名称:

大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore

时区名称一定要设置对哦,设置的不是标准名称的话,会再次默认使用格林威治标准时间。