PHP 中的一些经验积累


来源: [url]http://computer.mblogger.cn/whytt/posts/60766.aspx[/url]
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\'>\":\"\"; 


你可能感兴趣的:(PHP,职场,休闲)