最近刚刚完成手中的项目, 比较闲来这儿转转, 把积累的一些技巧分享给大家!
1 关于 PHP 重定向
方法一:
header("Location: index.php");
方法二:
echo "scriptwindow.location =\"$PHP_SELF\";script";
方法三:
echo "";
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',
- );
5php 生成 excel 文档
// 改动相应文件头就可以输出. 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?"":"";
方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"":"";
来源: https://www.php1.cn/detail/php-bdb4b68b8b.html