过滤转义字符

 更新时间:2016年11月25日 16:04  点击:1281

unction cg_stripslashes($array) {
 if (is_array($array)) {
  foreach ($array as $k => $v) {
   $array[$k] = cg_stripslashes($v);
  }
 } else if (is_string($array)) {
  $array = stripslashes($array);
 }
 return $array;
}

// 添加转义
function cg_addslashes($string) {
 if(is_array($string)) {
  foreach($string as $key => $val) {
   $string[$key] = cg_daddslashes($val);
  }
 } else {
  $string = addslashes($string);
 }
 return $string;
}
?>

/前台分页函数
function multi($num, $perpage, $curpage, $mpurl, $maxpages = 0, $page = 10, $autogoto = TRUE, $simple = FALSE) {
 //global $maxpage;
 $ajaxtarget = !empty($_GET['ajaxtarget']) ? " ajaxtarget="".htmlspecialchars($_GET['ajaxtarget'])."" " : '';

 $multipage = '';
 $mpurl .= strpos($mpurl, '?') ? '&' : '?';
 $realpages = 1;
 if($num > $perpage) {
  $offset = 2;

  $realpages = @ceil($num / $perpage);
  $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;
  //$curpage = $curpage < $realpages ? $curpage : $realpages;

  if($page > $pages) {
   $from = 1;
   $to = $pages;
  } else {
   $from = $curpage - $offset;
   $to = $from + $page - 1;
   if($from < 1) {
    $to = $curpage + 1 - $from;
    $from = 1;
    if($to - $from < $page) {
     $to = $page;
    }
   } elseif($to > $pages) {
    $from = $pages - $page + 1;
    $to = $pages;
   }
  }

  $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first"'.$ajaxtarget.'>1 ...</a>' : '').
   ($curpage > 1 && !$simple ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev"'.$ajaxtarget.'>&lsaquo;&lsaquo;</a>' : '');
  for($i = $from; $i <= $to; $i++) {
   $multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
    '<a href="'.$mpurl.'page='.$i.($ajaxtarget && $i == $pages && $autogoto ? '#' : '').'"'.$ajaxtarget.'>'.$i.'</a>';
  }

  $multipage .= ($curpage < $pages && !$simple ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next"'.$ajaxtarget.'>&rsaquo;&rsaquo;</a>' : '').
   ($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last"'.$ajaxtarget.'>... '.$realpages.'</a>' : '').
   (!$simple && $pages > $page && !$ajaxtarget ? '<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location=''.$mpurl.'page='+this.value; return false;}" /></kbd>' : '');

  $multipage = $multipage ? '<div class="pages">'.(!$simple ? '<em>&nbsp;'.$num.'&nbsp;</em>' : '').$multipage.'</div>' : '';
 }
 $maxpage = $realpages;
 return $multipage;
}

下面来看看php 如何导入.sql文件的代码

<?php
if(!defined('WEBROOT')) {
 die('Access Denied!');
}
class dbsql {
 var $dblink = NULL;
 var $queryCount = 0;
 
 function dbconnect($dbserver, $dbuser, $dbpwd, $dbname = '', $pconnect = 0, $charset = 'utf8') {
  if($pconnect) {
   if(!$this->dblink = @mysql_pconnect($dbserver, $dbuser, $dbpwd)) {
    $this->msghalt('Can not connect to MySQL server');
   }
  } else {
   if(!$this->dblink = @mysql_connect($dbserver, $dbuser, $dbpwd)) {
    $this->msghalt('Can not connect to MySQL server');
   }
  }

  /* if($this->version() > '4.1') {
   global $charset, $dbcharset;
   if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
    $dbcharset = str_replace('-', '', $charset);
   }

   if($dbcharset) {
    @mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->dblink);
   }

   if($this->version() > '5.0.1') {
    @mysql_query("SET sql_mode=''", $this->dblink);
   }
  } */
  
  @mysql_query('set names "utf8"');

  if($dbname) {
   if(!mysql_select_db($dbname, $this->dblink)) {
    $this->msghalt('Can not connect to MySQL server');
   }
  }
 }
 
 function select_db($dbname) {
  return @mysql_select_db($dbname, $this->dblink);
 }
 
 function query($sql = '') {
  if($sql) {
   if(!($query = mysql_query($sql,$this->dblink))) {
    $this->msghalt("MYSQL Query Error!n $sql");
   } else {
    $this->queryCount++;
    return $query;
   }
  } else {
   return false;
  }
 }
 
 function unb_query($sql = '') {
  if($sql) {
   if(!($query = mysql_unbuffered_query($sql,$this->dblink))) {
    $this->msghalt('MYSQL Query Error!<br />'.$sql.'<br />');
   } else {
    $this->queryCount++;
    return $query;
   }
  } else {
   return false;
  }
 }
 
 function fetch_array($query, $result_type = MYSQL_ASSOC) {
  return mysql_fetch_array($query, $result_type);
 }
 
 function fetch_one($sql) {
  return $this->fetch_array($this->query($sql));
 }
 
 function affected_rows() {
  return mysql_affected_rows($this->dblink);
 }
 
 function num_rows($query, $q = 1)
 {
  if($q == 1) {
   return mysql_num_rows($query);
  } else {
   return mysql_num_rows($this->query($query));
  }
  //return $query;
 }
 
 function result($query, $row) {
  $query = @mysql_result($query, $row);
  return $query;
 }
 
 function num_row($query) {//暂时没用
  return mysql_num_rows($query);
 }
 
 function free_result($query) {
  return mysql_free_result($query);
 }
 
 function insert_id() {
  return ($id = mysql_insert_id($this->dblink)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"));
 }
 
 function num_fields($query) {
  return mysql_num_fields($query);
 }
 
 function version() {
  return mysql_get_server_info($this->dblink);
 }
 
 function close() {
  return mysql_close($this->dblink);
 }
 
 function insert_data($tname, $data) {
  $values = '';
  $filed = implode(',', array_keys($data));
  $filednum = count($data) - 1;
  //echo $filednum;
  $i = 0;
  
  foreach($data as $key => $val) {
   $values .= "'".$val."'";
   if($i < $filednum) {
    $i++;
    $values .= ',';
   }
  }
  $sql = "INSERT INTO ".$tname." (".$filed.") VALUES(".$values.")";
  return $this->unb_query($sql);
 }
 
 function update_data($tname, $fid, $data, $whereid = 'id') {
  $col = array();
  foreach($data as $key => $values)
  {
   $col[] = $key."='".$values."'";
   
  }
  $sql = "UPDATE ".$tname." SET ".implode(',', $col)." WHERE $whereid='$fid'";
  return $this->unb_query($sql);
 }
 
 function error() {
  return (($this->dblink) ? mysql_error($this->dblink) : mysql_error());
 }
 
 function errno() {
  return intval(($this->dblink) ? mysql_errno($this->dblink) : mysql_errno());
 }
 
 function msghalt($msg = '') {
  $message = "<html>n<head>n";
  $message .= "<meta content="text/html; charset=utf-8" http-equiv="Content-Type">n";
  $message .= "<style type="text/css">n";
  $message .=  "body,p,pre {n";
  $message .=  "font:12px Verdana;n";
  $message .=  "}n";
  $message .=  "</style>n";
  $message .= "</head>n";
  $message .= "<body bgcolor="#FFFFFF" text="#000000" link="#006699" vlink="#5493B4">n";

  $message .= "<p>Datebase Error:</p><pre><b>".htmlspecialchars($msg)."</b></pre>n";
  $message .= "<b>Mysql error number</b>: ".$this->errno()."n<br />";
  $message .= "<b>Mysql error description</b>: ".htmlspecialchars($this->error())."n<br />";
  $message .= "<b>Date</b>: ".date("Y-m-d @ H:i")."n<br />";
  $message .= "<b>Script</b>: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] .'?'.$_SERVER['QUERY_STRING']."n<br />";

  $message .= "</body>n</html>";
  echo $message;
  exit;
 }
}

/**********************
$sb = new dbsql();
$sb->dbconnect('localhost','root','','fdwp');
echo 'fdfd';
****************************/
?>

这是一个指南,您将不会有一个独立的效果或文件,本月底指南,但你会-希望-有一个了解的U n ix时间戳,让您一个强大的形式管理你的P H P应用。

注意:
此指南预期读者了解如何MySQL数据库的工作和基本知识的PHP
Unix的时间,或POSIX正时间,是一个系统的描述时间点。它被广泛用于不仅对类Unix操作系统,但在许多其它计算机系统,包括Java编程语言。这是一个编码为协调世界,并有足够的类似线性代表时间的推移,它常常是一个错误。

UNIX的时间被广泛使用的PHP 。它的数额秒之间1970年1月1号00:00:00 ( Unix的时代)和本时间,以最接近的第二位。正如你可以想像,在过去35年,现在相当大的数目!

Unix系统时间的事情之一是处理不同的Windows服务器相比, * nix中的服务器。对Linux服务器的时间戳可以积极或消极的,相当于之前和之后的Unix时代。但是Windows服务器生产-1 ,而不是消极的时间戳,或在PHP 5.1 ,它产生虚假的。

PHP有许多预先确定的职能,利用Unix的时间,职能,我们将使用包括:

  • date()
  • mktime()
  • strtotime()
  • time()
  •  
  • 日期( )可能是最常用的日期功能在PHP中,它可以产生目前的日期或选定的时间在大量的概率。表的所有字符串限定在这里可

    mktime ( )已参数,每个设置时间:第二,分钟,小时,月,日及一年。第七届参数是根据每天节省但是如果此设置单独留PHP将找到的DS小时的本身。 mktime ( )返回时间戳记参数的讲话。

    strtotime ( )转换成一个字符串到一个时间戳,如果不能做到这一点它会返回-1或虚假的。

    时间( )返回当前的时间最接近的第二个作为一个时间戳。

    情景
    你有一个形式,进入数据到MySQL数据库包括日期,在不同的网页你需要回电只是其中之一您的数据库列。

    解决方案:作为Unix的时间每一秒的变化,他们几乎是独一无二的,以便使用,您可以选择某行的时间戳,例如:

    $sql = "SELECT * FROM data WHERE timestamp = " . strtotime("Sunday 3rd August 15:20:36");
    $result = mysql_query($sql);
    $row = mysql_fetch_assoc($result);
    echo "<pre>";
    print_r($row);
    echo "</pre>";
    此脚本进行了查询的数据库表“数据”选择的所有行的时间戳是相同的时间戳记的“星期日8月3日15点二十分36秒。 ”脚本然后显示阵列美元排这是所有的数据检索查询。

    这解决了问题,因为所有的数据只有一列是一个数组美元,连续随时可以输出到该网页。缺点这一解决方案是,时间是一个非常准确的,如果所谓的日期,甚至第二次了它不会选择正确的数据。

    你有一个截止日期为一块的工作,你想知道有多少小时你已经离开。

    解决方案:您可以使用mktime功能,输入日期的截止日期和时间戳记减去这与目前的时间找出多少时间了。
    $day = 1;
    $month = 11;
    $year = 2005;
    $deadline = mktime('', '', '', $month, $day, $year);
    $now = time();
    $age = $deadline - $now;
    $hours = floor($age * 60 * 60);
    $age = $hours * 24;
    echo "Only $age days ($hours hours) left!";
    此脚本使用mktime ( )获得的Unix时间戳2005年十一月一号(新cssreboot截止日期)和时间( )函数获得当前的时间戳记。这两个都是号码,几秒钟内,我们可以阻挡它们。其结果是秒数的差异,所以乘以60给你分,再次60 -小时,并获得2 4天。

    你有时间和你需要显示,作为一个在不同的日期格式。
    echo date("l dS of F Y",$timestamp);
    // Produces something like: Monday 15th of August 2005
     
    echo date("r",$timestamp);
    // the RSS date format (RFC 2822)
    // example: Thu, 21 Dec 2000 16:01:07 +0200
     
    echo date("m.d.y");
    // short-hand date: 03.10.01
    日期显示功能的变化无数的变化,当前的日期和时间戳记时加入的第二个参数是日期格式,而不是现在的一个。如果你想要写的日期功能的如“的”或“ ”的字符,可以显示日期格式必须逃脱的 。完整的表的日期功能是可在这里。

    这样就大功告成了!我希望,如果你遵循了这一指导你学到一些新的PHP的时间,我希望您可以使用这个新的知识在您下次PHP的项目

    PHP 文件处理

    当书面申请网页,它通常重要的是能够保存数据。一般的做法是两种方式之一:写入数据到一个文件,或保存在一个数据库(如MySQL的) 。当然,更容易的方法(不需要其他技术)是写入文件,然后读取并解析它们自己。这简单的这正是我在这里讨论。

    因此,让我们开始吧:

    打开一个文件的阅读和写作,我们开始使用打开功能。这只是开辟了档案资源为我们在以后的使用功能


    <?php
     $filename = &apos;file.txt&apos;;
     $handle = fopen($filename, &apos;r&apos;);
    ?>



    值得一提的是我打开文件进行读取。请注意' R '等?这是模式的论点,并允许您使用变量$文件阅读,或写作,这取决于你的需要。

    你可以看到不同的模式,开辟了档案文件的功能(根据表1 ) 。
    读取一个文件,最简单的方法是利用fread方法。这需要两个参数,档案资源从以前的功能(打开)和一个长度参数。


    <?php
     $content = fread($handle, filesize($filename));
    ?>

    我不得不使用文件大小,以便阅读文件的末尾。否则,该功能将不知道什么时候停止阅读。
    写作到一个文件中做类似的方便。这一次,我们将只使用fwrite ,其中有两个要求论点:文件处理资源,该字符串写入(第三可选的参数是长度的内容写入) 。
    <?php
     $handle = fopen($filename, &apos;a&apos;);
     fwrite($handle, &apos;Hello World!&apos;);
    ?>

    我不得不重新处理美元的变量,因为以前的资源仅开放供读。
    捷径
    好吧,既然你知道如何打开,读,写的全部档案,很长的路,这里有一些捷径。我倾向于避免这些,但真的没有错用。请注意,这两种需要PHP5 。

    而不是打开和fread ,可以简单地使用file_get_contents 。唯一的理由是需要的文件,它会返回一个字符串的内容
    <?php
    $contents = file_get_contents(&apos;file.txt&apos;);
    ?>

    <?php
    file_put_contents(&apos;file.txt&apos;, &apos;Hello World!&apos;);
    ?>

    [!--infotagslink--]

    相关文章