PHP中的一些经验积累
最近刚刚完成手中的项目,比较闲。来这儿转转,把积累的一些技巧分享给大家! 1、关于PHP重定向 方法一:header("Location: index.php"); 方法二:echo ""; 方法三:echo ""; 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 = "Internet 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 "; echo "test2 "; echo "test1 "; echo "test2 "; echo "test1 "; echo "test2 "; echo "test1 "; echo "test2 "; echo "test1 "; echo "test2 "; echo "test1 "; echo "test2 "; ?> //改动相应文件头就可以输出.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?"":""; 方法二: $newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"":""; 7、PHP中对数据库操作的封装 我的例子.........见本文附件!
补充:Web开发 , php ,