当前位置 : 首页 > 看新闻 > > PHP经验学习

PHP经验学习
【来源】远知网    【时间】2016-07-03 21:35:35    【阅读量】2577次

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

咨询qq:251983946

  1、关于PHP重定向

  方法一:header("Location: index.php");

  方法二:echo "";

  方法三: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',

  );

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

  方法二:

  $newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"":"";

  7.数据库封装例子

  <?php

  //------------------------------------------------------------------------------------------

  // ※Database() 构造函数,数据库初始参数

  // ※Select() 查询

  // ※GetRows() 返回查询的记录总数

  // ※Insert() 插入记录

  // ※Update() 更新

  // ※Delete() 删除

  // ※Halt() 中断并显示错误信息*/

  //------------------------------------------------------------------------------------------

  define("DATABASETYPE","1"); //定义数据库类型:1为MySql;2为SQL Server;3为Oracle;4为Odbc

  define("SERVER","localhost"); //Host name or IP address of the database server

  define("DATABASE","dbName"); //要连接的数据库名

  define("USER","tableName"); //用于连接数据库的用户名

  define("PASSWORD","paswd"); //用于连接数据库的密码

  class Database{

  var $dbLink; //连接句柄

  var $result; //查询句柄

  var $insId; //Insert()成功返回AUTO_INCREMENT列的值

  var $rows; //返回数据数组

  var $numRows; //返回数据数目

  var $dbHost, $dbUser, $userPassword, $database;

  var $dbType=DATABASETYPE;

  var $msgFlag = "yes" ; //yes:show the Mysql message ; no: die by show "Halted."

  function Database($dbHost=SERVER,$dbUser=USER,$userPassword=PASSWORD,$database=DATABASE){

  switch($this->dbType){

  case 1:

  $this->dbLink=@mysql_pconnect($dbHost,$dbUser,$userPassword);// or die("Can't Connect to Remote Host!");

  @mysql_select_db($database,$this->dbLink);// or die ("Can't Connect to Remote Host!");

  break;

  case 2:

  break;

  }

  return true;

  }

  /*SQL:Select() 返回为false无结果*/

  function Select($table,$columns,$condition=1){

  $sql="select $columns from $table where $condition ";

  //echo $sql."
";

  $this->result=@mysql_query($sql,$this->dbLink);

  unset($this->rows);

  if($this->result){

  $i=0;

  if(!($this->rows=array("$i"=>@mysql_fetch_array($this->result))))

  return false;

  if(($this->numRows=@mysql_num_rows($this->result))==0)

  return false;

  while($tempRows=@mysql_fetch_array($this->result)){

  array_push($this->rows,$tempRows);

  }

  }else{

  $this->Halt($sql);

  return false;

  }

  return true;

  }

  /*SQL:GetRows() 返回查询的记录总数*/

  function GetRows($table,$condition=1){

  $sql="select count(1) as count from $table where $condition";

  //echo $sql."
";

  $this->result=@mysql_query($sql,$this->dbLink);

  if($this->result){

  $temp=@mysql_fetch_array($this->result);

  $this->numRows=$temp[count];

  }else{

  $this->Halt($sql);

  return false;

  }

  return $this->numRows;

  }

  /*SQL:Insert()*/

  function Insert($table,$columns,$values){

  $sql="insert into $table ($columns) values ($values)";

  //echo $sql;

  $this->result=@mysql_query($sql,$this->dbLink);

  if ($this->result)

  $this->insId=@mysql_insert_id($this->dbLink);

  else{

  $this->Halt($sql);

  return false;

  }

  return true;

  }

  /*SQL:Update()*/

  function Update($table,$setings,$condition){

  $sql="update $table set $setings where $condition";

  //echo $sql;

  $this->result=@mysql_query($sql,$this->dbLink);

  if ($this->result)

  $this->numRows=@mysql_affected_rows($this->result);

  else{

  $this->Halt($sql);

  return false;

  }

  return true;

  }

  /*SQL:Delete*/

  function Delete($table,$condition){

  $sql="delete from $table where $condition";

  $this->result=@mysql_query($sql,$this->dbLink);

  if ($this->result)

  $this->numRows=@mysql_affected_rows($this->result);

  else{

  $this->Halt($sql);

  return false;

  }

  return true;

  }

  /*Halt():error message */

  function Halt($msg){

  if($this->msgFlag=="yes"){

  printf("Database Query Error: %s
\n", $msg);

  printf("MySql Error: %s
\n",mysql_error());

  }else

  echo "";//自定一个出错提示文件

  return false;

  }

  }

  switch($db->dbType){

  case 1:

  @mysql_close();

  break;

  case 2:

  break;

  }

  $db = new Database();

  ?>

【上一篇】Fireworks制作Logo心得和体会    【下一篇】Fireworks制作Logo心得和体会

※远知网声明※

(一) 由于各方面情况的调整与变化,本网所提供的考试信息仅供参考,敬请以权威部门公布的正式信息为准。

(二) 本网注明来源为其他媒体的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如有内容、版权等问题请在30日内与本网联系。

(三)联系方式:邮件 px58_vip@163.com