快速业务通道

PHP 中的一些经验积累

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-24
作者:snowai 

最近刚刚完成手中的项目,比较闲。来这儿转转,把积累的一些技巧分享给大家!
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 = "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\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中对数据库操作的封装
我的例子.........见本文附件!


相关附件:PHP中对数据库操作的封装的例子

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号