几个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程序员编程注意事项
Apr 10 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 PHP
PHP 身份证号验证函数
May 07 PHP
7个超级实用的PHP代码片段
Jul 11 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
PHP实现负载均衡下的session共用功能
Apr 17 PHP
PHP区块查询实现方法分析
May 12 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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
详解PHP导入导出CSV文件
2014/11/03 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
微信小程序实现展示评分结果功能
2019/02/15 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
提升python处理速度原理及方法实例
2019/12/25 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
毕业求职自荐信格式是什么
2013/11/19 职场文书
新学期决心书
2014/03/11 职场文书
承诺书的格式范文
2014/03/28 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
电子商务系毕业生自荐信
2014/05/29 职场文书
2015年采购部工作总结
2015/04/23 职场文书
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python