PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » PHP资源共享 » 经验积累,献给PHP爱好者!!!
本页主题: 经验积累,献给PHP爱好者!!! 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

自由的龙

该用户目前不在线
级别: 中级程序员
精华: 1
发帖: 1264
威望: 1267 点
金钱: 12660 PYMB
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-04-16
最后登录:2006-06-27

经验积累,献给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="owerPC";
}
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 ";
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.gif'>":"";
7、PHP中对数据库操作的封装
顶端 Posted: 2006-04-20 09:12 | [楼 主]
ecren



该用户目前不在线
级别: 新手上路
精华: 0
发帖: 2
威望: 3 点
金钱: 20 PYMB
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-06-15
最后登录:2006-06-15


呵呵,还有没有更多经验啊??
顶端 Posted: 2006-06-15 18:18 | 1 楼
li77227



该用户目前不在线
级别: 新手上路
精华: 0
发帖: 1
威望: 2 点
金钱: 10 PYMB
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-07-01
最后登录:2006-07-01


非常实用的经验.谢谢分享...
顶端 Posted: 2006-07-01 13:40 | 2 楼
dahiao

该用户目前不在线
级别: 新手上路
精华: 0
发帖: 2
威望: 3 点
金钱: 20 PYMB
贡献值: 0 点
在线时间:0(小时)
注册时间:2007-06-05
最后登录:2007-06-05


非常实用的经验.谢谢分享...
我来向大家学习了QQ:297542491
MSN:shirongyong@163.com
skype:dahaio
http://www.dahiao.com
顶端 Posted: 2007-06-05 13:57 | 3 楼
PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » PHP资源共享

现在时间:08-30 23:29 Copyright © 2006 phpwhy.com 版权所有
浙ICP备05060669号

点击这里给我发消息关于我们 - 合作联系