zoukankan      html  css  js  c++  java
  • php编程中常用的几个函数

    1 <?
    2  class useful{
    3 /*
    4 * 常用函数类
    5 * 作 者:多菜鸟
    6 * 联系邮箱:kingerq AT msn DOT com
    7 * 创建时间:2005-07-18
    8 * 来源:http://blog.csdn.net/kingerq
    9 */
    10 /*
    11 * 功能:格式化数字,以标准MONEY格式输出
    12 */
    13 function formatnumber($num){
    14 return number_format($num, 2, ".", ",");
    15 }
    16
    17 /*
    18 * 功能:格式化文本,将\n转成<br>等
    19 * 参数:$string 来源字符串
    20 * 返回:处理后的字符串
    21 */ function formatstring($string = ""){
    22 $string = preg_replace(array("/ /", "/ /"), array(" ", " "), $string);
    23 return nl2br($string);
    24 }
    25
    26 /*
    27 * 功能:格式化文本输出
    28 * 参数 $text 为需格式化的文本内容
    29 */ function formatcontent($text){
    30 $trans = get_html_translation_table(HTML_SPECIALCHARS);
    31 $trans = array_flip($trans);
    32 $text = strtr($text, $trans);
    33 //$text = str_replace("\n", "<br>", $text);
    34 //$text = str_replace(" ", " ", $text);
    35 return $text;
    36 }
    37
    38 /*
    39 * 将字节转换成Kb或者Mb
    40 * 参数 $num为字节大小
    41 */ function bitsize($num){
    42 if(!preg_match("/^[0-9]+$/", $num)) return 0;
    43 return $num > 1024 ? ($num/1024 > 1024 ? round($num/1024/1024, 2)." Mb" : round($num/1024, 2)." Kb") : $num." 字节";
    44 }
    45
    46 /*
    47 * 防注入处理(为变量加入斜杠)函数
    48 * 参数 $array 为防注入变量数组
    49 */ function add_s(&$array){
    50 foreach($array as $key=>$value){
    51 if(!is_array($value)){
    52 $array[$key]=addslashes($value);
    53 }else{
    54 $this->add_s($array[$key]);
    55 }
    56 }
    57 }
    58
    59 /*
    60 * 转换HTML特殊字符(表单提交的时候使用,防止恶意JS代码)
    61 * 参数 $array 为需转换的字符串或者数组
    62 */ function specialhtml(&$array){
    63 if(is_array($array)){//数组处理
    64 foreach($array as $key=>$value){
    65 if(!is_array($value)){
    66 $array[$key]=htmlspecialchars($value);
    67 }else{
    68 $this->specialhtml($array[$key]);
    69 }
    70 }
    71 }else{
    72 $array = htmlspecialchars($array);
    73 }
    74 }
    75
    76 /*
    77 * 可以避免乱码的截取汉字
    78 * 参数 $str 为字符串,$start 为开始字符,$len 结束字符
    79 * 返回截取后的字符
    80 */ function msubstr($str, $start, $len) {
    81 $tmpstr = "";
    82 $strlen = $start + $len;
    83 for($i = 0; $i < $strlen; $i++) {
    84 if(ord(substr($str, $i, 1)) > 0xa0) {
    85 $tmpstr .= substr($str, $i, 2);
    86 $i++;
    87 } else
    88 $tmpstr .= substr($str, $i, 1);
    89 }
    90 return $tmpstr;
    91 }
    92
    93 /*
    94 * 功能:综合提示JS代码输出
    95 * 参数 $msg 为提示信息
    96 * $direct 为提示类型 0为提示(默认)1为提示刷新返回 2为提示返回
    97 * 输出提示代码并结束程序
    98 */ function alert_msg($msg, $direct = "0"){
    99 switch($direct){
    100 case '0'://提示
    101 $script = "";
    102 case '1'://提示刷新返回
    103 $script = "location.href=\"".$_SESSION["HTTP_REFERER"]."\";";
    104 break;
    105 case '2'://提示返回
    106 $script = "history.back();";
    107 break;
    108 default://提示转向指定页面
    109 $script = "location.href=\"".$direct."\";";
    110 }
    111 echo "<script language='javascript'>window.alert('".$msg."');".$script."</script>";
    112 exit;
    113 }
    114
    115 /*
    116 * 功能:取得给定日期所在周的开始日期和结束日期
    117 * 参数:$gdate 日期,默认为当天,格式:YYYY-MM-DD
    118 * $first 一周以星期一还是星期天开始,0为星期天,1为星期一
    119 * 返回:数组array("开始日期", "结束日期");
    120 */ function aweek($gdate = "", $first = 0){
    121 if(!$gdate) $gdate = date("Y-m-d");
    122 $w = date("w", strtotime($gdate));//取得一周的第几天,星期天开始0-6
    123 $dn = $w ? $w - $first : 6;//要减去的天数
    124 $st = date("Y-m-d", strtotime("$gdate -".$dn." days"));
    125 $en = date("Y-m-d", strtotime("$st +6 days"));
    126 return array($st, $en);//返回开始和结束日期
    127 }
    128
    129 /*
    130 * 功能:检测页面是否合法连接过来
    131 * 如果为非法,就转向到登陆窗口
    132 */ function checkurl(){
    133 //如果直接从浏览器连接到页面,就连接到登陆窗口
    134 //echo "referer:".$_SESSION['HTTP_REFERER'];
    135 if(!isset($_SESSION['HTTP_REFERER'])) {
    136 header("location: index.php");
    137 exit;
    138 }
    139 $urlar = parse_url($_SESSION['HTTP_REFERER']);
    140 //如果页面的域名不是服务器域名,就连接到登陆窗口
    141 if($_SERVER["HTTP_HOST"] != $urlar["host"]) {
    142 header("location: index.php");
    143 exit;
    144 }
    145 }
    146
    147 /*
    148 * 读取文件内容
    149 * 参数 $file 为文件名及完整路径
    150 * 返回文件内容
    151 */ function readfiles($file){
    152 $tdata = "";
    153 $fp = fopen($file, "r");
    154
    155 if(filesize($file) <= 0) return;
    156
    157 while($data = fread($fp, filesize($file))){
    158 $tdata .= $data;
    159 }
    160 fclose($fp);
    161 return $tdata;
    162 }
    163 }
    164 ?>
    165
    166 这个小程序是将来访者的$_SERVER['HTTP_REFERER']信息记录到dbfile中,达到访客来源统计的效果。
    167
    168 referer.php,主文件,记录来访信息。
    169
    170 <?php
    171 $refererFile='refererdata.php';
    172 if(file_exists($refererFile)){
    173 require_once($refererFile);
    174 }else{
    175 $Referer=array();
    176 }
    177
    178 $path=pathinfo($SCRIPT_NAME);
    179 if(isset($_SERVER['HTTP_REFERER']) && !strstr($_SERVER['HTTP_REFERER'],'http://'.$HTTP_HOST.$path['dirname'])){
    180 $url=urldecode($_SERVER['HTTP_REFERER']);
    181 if(isset($Referer[$url])){
    182 $Referer[$url]=$Referer[$url]+1;
    183 }else{
    184 $Referer[$url]=1;
    185 }
    186 function getRefererStr($i,$k){
    187 global $s;
    188 $s[]="\t\"".$k."\"=>$i";
    189 }
    190 array_walk($Referer,'getRefererStr');
    191 $s="<?php\n\$Referer=array(\n".join($s,",\n")."\n);\n?>";
    192 if(is_writable($refererFile) || !file_exists($refererFile)){
    193 if(!$handle=fopen($refererFile,'w')){
    194 return false;
    195 }
    196 if(!fwrite($handle,$s)){
    197 return false;
    198 }
    199 fclose($handle);
    200 }else{
    201 return false;
    202 }
    203 return true;
    204 }
    205 ?>
    206
    207
    208 在要统计的页面插入“<?php require_once('referer.php'); ?>”,使用时主文件会自动生成一个数据存储文件refererdata.php。
    209
    210 referstat.php,来源信息察看文件。
    211
    212 <?php
    213 if(file_exists('refererdata.php')){
    214 require_once('refererdata.php');
    215 natsort($Referer);
    216 end($Referer);
    217 for($i=0;$i<count($Referer);$i++){
    218 $R=current($Referer);
    219 $s[]='&#187; <a href="'.key($Referer).'" target="_blank">'.preg_replace("/^https?:\/\//i",'',key($Referer)).'</a> ('.$R.')';
    220 prev($Referer);
    221 }
    222 echo '<b>访客来源:</b><br/>'.join($s,'<br/>');
    223 }else{
    224 header('Location:.',true);
    225 }
    226 ?>

    aliyun活动 https://www.aliyun.com/acts/limit-buy?userCode=re2o7acl
  • 相关阅读:
    如何获得浏览器localStorage的剩余容量
    按Enter键后Form表单自动提交的问题
    IE10 11的css hack
    text-transform设置单词首字母大写
    Jade模板引擎(一)之Attributes
    sql server之ROW_NUMBER() OVER()取每组的第N行数据
    CSS3之让背景图片全部显示
    摆脱npm的网络问题: 淘宝npm镜像
    MaskedTextBox的聚焦和光标位置
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/wangbin/p/1885439.html
Copyright © 2011-2022 走看看