分享
 
 
 

PHP中重新定向到另一个页面

王朝php·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

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

最近刚刚完成手中的项目,比较闲。来这儿转转,把积累的一些技巧分享给大家!

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'>":"";

增加一个正规表达式例子(自动转化www,ftp,mail开头的链接)

<?

function enable_url($str)

{

$str = ereg_replace("(www.[a-zA-Z0-9@:%_.~#-\?&]+)", " <a href=\"linkHttp://\1\" target=\"_blank\">\1</a>", $str); // 自动转化www开头的链接

$str = ereg_replace("(((f|ht)tp://)[a-zA-Z0-9@:%_.~#-\?&]+)", "<a href=\"\1\" target=\"_blank\">\1</a>", $str); //转化http://开头和ftp://开头的链接

$str = str_replace('linkHttp://','http://',$str);

$str = ereg_replace("([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z])","<a href=\"\1mailto:\1\">\1</a>", $str); // 转化邮件地址

return $str;

}

//for example

echo enable_url(www.snowai.com);

?>

取得文件扩展名方法

<?//方法一:

function extend($file_name)

{

$retval="";

$pt=strrpos($file_name, ".");

if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);

return ($retval);

}

//方法二(php4.03及更高版本)

$extend = pathinfo($file_name);

$extend = strtolower($extend["extension"]);

echo $extend;

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有