Welcome

首页 / 网页编程 / PHP / 几个php应用技巧

1、关于PHP重定向
1、关于PHP重定向
方法一:header("Location: index.php");
方法二:echo "<scrīpt>window.location ="$PHP_SELF";</scrīpt>";
方法三: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-javascrīpt", 
"pdf" => "application/pdf", 
"ps" => "application/postscrīpt", 
"eps" => "application/postscrīpt", 
"ai" => "application/postscrīpt", 
"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?"<img src="../image/newinfor.gif">":"";
方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"<img src="../image/newinfor