标签归档:php

用PHP生成随机数(另附PHP随机函数)

通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。

function randomkeys($length)
{
	$pattern = '1234567890abcdefghijklmnopqrstuvwxyz
                ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
                t;>?;#:@~[]{}-_=+)(*&^%$£"!';    //字符池
	for($i=0;$i<$length;$i++)
	{
		$key .= $pattern{mt_rand(0,35)};    //生成php随机数
	}
	return $key;
}
echo randomkeys(8);

这个php随机函数能生成XC*=z~7L这样的字符串,够随机!

现在介绍另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。

function randomkeys($length)
{
	$output='';
	for ($a = 0; $a < $length; $a++) {
		$output .= chr(mt_rand(33, 126));    //生成php随机数
	}
	return $output;
}
echo randomkeys(8);

在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr()函数转化成字符。查看ascii码表就会发现,33到126代表的正是第一个函数中字符池里的所有字符。第二个函数和第一个函数功能相同,而且更简洁。

2008年8月8日——PHP4最后一次更新

 GoPHP5

2008年8月8日是什么日子?北京奥运会开幕!没错!但如果你是一位PHP的使用者,你还必须知道——那天是PHP4最后一次更新的日子。

去年12月,php社区已经宣布停止对PHP4的支持,不过这只意味着PHP4不会添加新的功能,而对安全问题的修复仍然会继续(即中版本号不变,停留在4.4,而小版本号会继续增加,现在已经发布到4.4.8)。如果不出意外的话,29天后,对PHP4的安全问题修复也将不再提供,社区将完全放弃对PHP4的支持。

如果你仍然在用PHP4进行开发,那么在2008年8月8日后,你可能就惨了。Ivo Jansch描述了一幅可怕的情景:

  • 如果在2个月的时间里,黑客发现了PHP4暴露出的bug该怎么办?
  • 如果他们编写蜘蛛在互联网上搜寻PHP4程序该怎么办?
  • 如果他们用恶意代码攻击这些网站该怎么办?
  • 如果真的没有任何补丁来修补这些漏洞该怎么办?
  • 你那时候该怎么办?(除了像个没头苍蝇一样到处乱撞)

黑客可能已经发现了某些可以利用的漏洞,而他们故意等到8月8日以后,PHP4不再发布安全补丁后才进行攻击,从而让影响最大化。

开源软件的作者们早就开始积极转向PHP5了,其中包括著名的PEAR, phpMyAdmin, Drupal, Gallery和Zen Cart等。目前在GoPHP5上登记的开源项目已超过100个,而且仍然在不断增加中。长远来看,越来越多的开源软件将放弃使用PHP4。对于使用开源程序架设网站的经营者来说,继续停留在PHP4上,意味着更窄的软件选择面和无法获得软件的最新版本。

So,赶快阅读PHP4转移到PHP5的文章,让你的主机服务商给你更换PHP5的主机。你只有29天的时间。

Nexen发布08年6月的PHP统计数据

Nexen发布08年6月的PHP统计数据,该统计的数据源于对三千万个域名的跟踪调查。

统计数据显示:

  • PHP5.2.6市场份额增长迅速(因为PHP5.3仍未发布)。
  • PHP5在整个PHP市场中的份额达到38.93%,上升2%。
  • 份额最高的PHP版本是PHP4.4,占到39%;其次为PHP5.2的30%,PHP4.3位居第三,占19%。
  • 中国市场的PHP占有率仅为17.16。
  • 在国内各省中,PHP占有率最高的是澳门,89.61%;其次是广州,53.92%;青海第三,46.67%。

查看详细的统计数据信息,请访问:http://www.nexen.net/chiffres_cles/phpversion/18519-php_statistics_for_june_2008.php

PHP调查系统——LimeSurvey

limesurvey

LimeSurvey是一款开源的PHP调查系统,用官方的话来说,“LimeSurvey有许多种特性,它具有创造一个优雅的在线调查所需的一切元素。”

LimeSurvey具有以下特性:

  • 支持20多种问题类型
  • 强大的用户管理功能
  • 问卷安全设置
  • 允许创建调查分支,即根据之前选项的不同,之后的题目也不同
  • 允许将问题分组、分页显示
  • 允许自定义结果分析方式(例如设置不同问题的权重)
  • 允许在调查中集成图片和视频
  • 自动创建调查表的可打印版本
  • 可以将调查导出为多种格式(text, CSV, PDF, SPSS, queXML, MS Excel)
  • 可以通过email发送邀请和提醒
  • 允许自定义模板
  • 多语言支持,包括简体中文

与其他PHP调查系统相比,LimeSurvey功能十分强大,但同时也造成了一个缺点——上手难。不过一旦适应以后,相信你就可以随心所欲的按照自己的想法创建一个PHP调查问卷了。

想了解更多信息,你可以去LimeSurvey的官方网站:http://www.limesurvey.org/

LimeSurvey的下载是放在SourceForge上的,而SourceForge遭到了GFW的封锁。如果你需要下载的话,可以到这里下载LimeSurvey的最新稳定版本1.71Plus:http://www.mediafire.com/?ybdn1uytmmy