几个php应用技巧


Posted in PHP onMarch 27, 2008

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\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

PHP 相关文章推荐
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
yii通过小物件生成view的方法
Oct 08 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
PHP详细彻底学习Smarty
Mar 27 #PHP
php中用文本文件做数据库的实现方法
Mar 27 #PHP
Discuz! Passport 通行证整合
Mar 27 #PHP
FCKeditor添加自定义按钮
Mar 27 #PHP
php,ajax实现分页
Mar 27 #PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 #PHP
PHP 5.0对象模型深度探索之对象复制
Mar 27 #PHP
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
php伪静态之APACHE篇
2014/06/02 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
Javascript this指针
2009/07/30 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
Python实现简单状态框架的方法
2015/03/19 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
应聘编辑自荐信范文
2014/03/12 职场文书
机械专业求职信范文
2014/07/15 职场文书
领导干部作风建设总结
2014/10/23 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js
JavaScript的function函数详细介绍
2021/11/20 Javascript
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL