• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

经验积累,献给PHP爱好者!!!

发布: 2007-7-01 15:06 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网 最近刚刚完成手中的项目,比较闲。来这儿转转,把积累的一些技巧分享给大家!
1、关于PHP重定向
方法一:header("Location: index.php");
方法二:echo "<script>window.location =\"$PHP_SELF\";</script>";
方法三:echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=index.php\">";

2、获取访问者浏览器
function browse_infor()
{
$browser="";$browserver="";
$Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb");
$Agent = $GLOBALS["HTTP_USER_AGENT"];
for ($i=0; $i<=7; $i++)
{
if (strpos($Agent,$Browsers[$i]))
{
$browser = $Browsers[$i];
$browserver ="";
}
}
if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent))
{
$temp =explode("(", $Agent); $Part=$temp[0];
$temp =explode("/", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver); $browserver=$temp[0];
$browserver =preg_replace("/([\d\.]+)/","\\1",$browserver);
$browserver = " $browserver";
$browser = "Netscape Navigator";
}
if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent))
{
$temp =explode("(", $Agent); $Part=$temp[1];
$temp =explode(")", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver);$browserver=$temp[2];
$browserver =preg_replace("/([\d\.]+)/","\\1",$browserver);
$browserver = " $browserver";
$browser = "Opera";
}
if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent))
{
$temp = explode("(", $Agent); $Part=$temp[1];
$temp = explode(";",$Part); $Part=$temp[1];
$temp = explode(" ",$Part);$browserver=$temp[2];
$browserver =preg_replace("/([\d\.]+)/","\\1",$browserver);
$browserver = " $browserver";
$browser = "Inte.net Explorer";
}
if ($browser!="")
{
$browseinfo = "$browser$browserver";
}
else
{
$browseinfo = "Unknown";
}
return $browseinfo;
}
//调用方法$browser=browseinfo() ;直接返回结果

3、获取访问者操作系统
function osinfo() {
$os="";
$Agent = $GLOBALS["HTTP_USER_AGENT"];
if (eregi(@#win@#,$Agent) && strpos($Agent, @#95@#)) {
$os="Windows 95";
}
elseif (eregi(@#win 9x@#,$Agent) && strpos($Agent, @#4.90@#)) {
$os="Windows ME";
}
elseif (eregi(@#win@#,$Agent) && ereg(@#98@#,$Agent)) {
$os="Windows 98";
}
elseif (eregi(@#win@#,$Agent) && eregi(@#nt 5\.0@#,$Agent)) {
$os="Windows 2000";
}
elseif (eregi(@#win@#,$Agent) && eregi(@#nt@#,$Agent)) {
$os="Windows NT";
}
elseif (eregi(@#win@#,$Agent) && eregi(@#nt 5\.1@#,$Agent)) {
$os="Windows XP";
}
elseif (eregi(@#win@#,$Agent) && ereg(@#32@#,$Agent)) {
$os="Windows 32";
}
elseif (eregi(@#linux@#,$Agent)) {
$os="Linux";
}
elseif (eregi(@#unix@#,$Agent)) {
$os="Unix";
}
elseif (eregi(@#sun@#,$Agent) && eregi(@#os@#,$Agent)) {
$os="SunOS";
}
elseif (eregi(@#ibm@#,$Agent) && eregi(@#os@#,$Agent)) {
$os="IBM OS/2";
}
elseif (eregi(@#Mac@#,$Agent) && eregi(@#PC@#,$Agent)) {
$os="Macintosh";
}
elseif (eregi(@#PowerPC@#,$Agent)) {
$os="PowerPC";
}
elseif (eregi(@#AIX@#,$Agent)) {
$os="AIX";
}
elseif (eregi(@#HPUX@#,$Agent)) {
$os="HPUX";
}
elseif (eregi(@#NetBSD@#,$Agent)) {
$os="NetBSD";
}
elseif (eregi(@#BSD@#,$Agent)) {
$os="BSD";
}
elseif (ereg(@#OSF1@#,$Agent)) {
$os="OSF1";
}
elseif (ereg(@#IRIX@#,$Agent)) {
$os="IRIX";
}
elseif (eregi(@#FreeBSD@#,$Agent)) {
$os="FreeBSD";
}
if ($os==@#@#) $os = "Unknown";
return $os;
}
//调用方法$os=os_infor() ;

4、文件格式类
$mime_types = array(
@#gif@# => @#image/gif@#,
@#jpg@# => @#image/jpeg@#,
@#jpeg@# => @#image/jpeg@#,
@#jpe@# => @#image/jpeg@#,
@#bmp@# => @#image/bmp@#,
@#png@# => @#image/png@#,
@#tif@# => @#image/tiff@#,
@#tiff@# => @#image/tiff@#,
@#pict@# => @#image/x-pict@#,
@#pic@# => @#image/x-pict@#,
@#pct@# => @#image/x-pict@#,
@#tif@# => @#image/tiff@#,
@#tiff@# => @#image/tiff@#,
@#psd@# => @#image/x-photoshop@#,

@#swf@# => @#application/x-shockwave-flash@#,
@#js@# => @#application/x-javascript@#,
@#pdf@# => @#application/pdf@#,
@#ps@# => @#application/postscript@#,
@#eps@# => @#application/postscript@#,
@#ai@# => @#application/postscript@#,
@#wmf@# => @#application/x-msmetafile@#,

@#css@# => @#text/css@#,
@#htm@# => @#text/html@#,
@#html@# => @#text/html@#,
@#txt@# => @#text/plain@#,
@#xml@# => @#text/xml@#,
@#wml@# => @#text/wml@#,
@#wbmp@# => @#image/vnd.wap.wbmp@#,

@#mid@# => @#audio/midi@#,
@#wav@# => @#audio/wav@#,
@#mp3@# => @#audio/mpeg@#,
@#mp2@# => @#audio/mpeg@#,

@#avi@# => @#video/x-msvideo@#,
@#mpeg@# => @#video/mpeg@#,
@#mpg@# => @#video/mpeg@#,
@#qt@# => @#video/quicktime@#,
@#mov@# => @#video/quicktime@#,

@#lha@# => @#application/x-lha@#,
@#lzh@# => @#application/x-lha@#,
@#z@# => @#application/x-compress@#,
@#gtar@# => @#application/x-gtar@#,
@#gz@# => @#application/x-gzip@#,
@#gzip@# => @#application/x-gzip@#,
@#tgz@# => @#application/x-gzip@#,
@#tar@# => @#application/x-tar@#,
@#bz2@# => @#application/bzip2@#,
@#zip@# => @#application/zip@#,
@#arj@# => @#application/x-arj@#,
@#rar@# => @#application/x-rar-compressed@#,

@#hqx@# => @#application/mac-binhex40@#,
@#sit@# => @#application/x-stuffit@#,
@#bin@# => @#application/x-macbinary@#,

@#uu@# => @#text/x-uuencode@#,
@#uue@# => @#text/x-uuencode@#,

@#latex@#=> @#application/x-latex@#,
@#ltx@# => @#application/x-latex@#,
@#tcl@# => @#application/x-tcl@#,

@#pgp@# => @#application/pgp@#,
@#asc@# => @#application/pgp@#,
@#exe@# => @#application/x-msdownload@#,
@#doc@# => @#application/msword@#,
@#rtf@# => @#application/rtf@#,
@#xls@# => @#application/vnd.ms-excel@#,
@#ppt@# => @#application/vnd.ms-powerpoint@#,
@#mdb@# => @#application/x-msaccess@#,
@#wri@# => @#application/x-mswrite@#,
);
5、php生成excel文档
<?
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
?>
//改动相应文件头就可以输出.doc .xls等文件格式了
6、时间比较问题
举一个简单例子说明:比如一个论坛对当天发表的贴子用new图片标记一下。
方法一:
//$db->rows[$i][date]中为数据库中datetime字段值.
$today=time();
$theDay=date("Y-m-d H:i:s",$today-24*3600);
$newTag=$db->rows[$i][date]>=$theDay?"<img src=@#../image/newinfor.gif@#>":"";
方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"<img src=@#../image/newinfor.gif@#>":"";
7、PHP中对数据库操作的封装
我的例子.........见上面附件!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网