首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > PHP常用函数类
【标  题】:PHP常用函数类
【关键字】:PHP
【来  源】:http://www.cublog.cn/u/14529/showart.php?id=156409

PHP常用函数类

<?
class useful{
 /*
 * 常用函数类
 * 作 者:多菜鸟
 * 联系邮箱:kingerq AT msn DOT com
 * 创建时间:2005-07-18
 * 来源:http://blog.csdn.net/kingerq
 */

 /*
 * 功能:格式化数字,以标准MONEY格式输出
 */

 function formatnumber($num){
  return number_format($num, 2, ".", ",");
 }

 /*
 * 功能:格式化文本,将\n转成<br>等
 * 参数:$string 来源字符串
 * 返回:处理后的字符串
 */
 function formatstring($string = ""){
  $string = preg_replace(array("/ /", "/ /"), array("&nbsp;", "&nbsp;&nbsp;"), $string);
  return nl2br($string);
 }

 /*
 * 功能:格式化文本输出
 * 参数 $text 为需格式化的文本内容
 */
 function formatcontent($text){
  $trans = get_html_translation_table(HTML_SPECIALCHARS);
  $trans = array_flip($trans);
  $text = strtr($text, $trans);
  //$text = str_replace("\n", "<br>", $text);
  //$text = str_replace(" ", "&nbsp;", $text);
  return $text;
 }

 /*
 * 将字节转换成Kb或者Mb
 * 参数 $num为字节大小
 */
 function bitsize($num){
  if(!preg_match("/^[0-9]+$/", $num)) return 0;
  return $num > 1024 ? ($num/1024 > 1024 ? round($num/1024/1024, 2)." Mb" : round($num/1024, 2)." Kb") : $num." 字节";
 }

 /*
 * 防注入处理(为变量加入斜杠)函数
 * 参数 $array 为防注入变量数组
 */
 function add_s(&$array){
  foreach($array as $key=>$value){
   if(!is_array($value)){
    $array[$key]=addslashes($value);
   }else{
    $this->add_s($array[$key]);
   }
  }
 }

 /*
 * 转换HTML特殊字符(表单提交的时候使用,防止恶意JS代码)
 * 参数 $array 为需转换的字符串或者数组
 */
 function specialhtml(&$array){
  if(is_array($array)){//数组处理
  foreach($array as $key=>$value){
   if(!is_array($value)){
    $array[$key]=htmlspecialchars($value);
   }else{
    $this->specialhtml($array[$key]);
   }
  }
  }else{
   $array = htmlspecialchars($array);
  }
 }

 /*
 * 可以避免乱码的截取汉字
 * 参数 $str 为字符串,$start 为开始字符,$len 结束字符
 * 返回截取后的字符
 */
 function msubstr($str, $start, $len) {
  $tmpstr = "";
  $strlen = $start + $len;
  for($i = 0; $i < $strlen; $i++) {
   if(ord(substr($str, $i, 1)) > 0xa0) {
    $tmpstr .= substr($str, $i, 2);
    $i++;
   } else
   $tmpstr .= substr($str, $i, 1);
  }
  return $tmpstr;
 }

 /*
 * 功能:综合提示JS代码输出
 * 参数 $msg 为提示信息
 * $direct 为提示类型 0为提示(默认)1为提示刷新返回 2为提示返回
 * 输出提示代码并结束程序
 */
 function alert_msg($msg, $direct = "0"){
  switch($direct){
   case '0'://提示
   $script = "";
   case '1'://提示刷新返回
   $script = "location.href=\"".$_SESSION["HTTP_REFERER"]."\";";
   break;
   case '2'://提示返回
   $script = "history.back();";
   break;
   default://提示转向指定页面
   $script = "location.href=\"".$direct."\";";
  }
  echo "<script language='javascript'>window.alert('".$msg."');".$script."</script>";
  exit;
 }

 /*
 * 功能:取得给定日期所在周的开始日期和结束日期
 * 参数:$gdate 日期,默认为当天,格式:YYYY-MM-DD
 * $first 一周以星期一还是星期天开始,0为星期天,1为星期一
 * 返回:数组array("开始日期", "结束日期");
 */
 function aweek($gdate = "", $first = 0){
  if(!$gdate) $gdate = date("Y-m-d");
  $w = date("w", strtotime($gdate));//取得一周的第几天,星期天开始0-6
  $dn = $w ? $w - $first : 6;//要减去的天数
  $st = date("Y-m-d", strtotime("$gdate -".$dn." days"));
  $en = date("Y-m-d", strtotime("$st +6 days"));
  return array($st, $en);//返回开始和结束日期
 }

 /*
 * 功能:检测页面是否合法连接过来
 * 如果为非法,就转向到登陆窗口
 */
 function checkurl(){
  //如果直接从浏览器连接到页面,就连接到登陆窗口
  //echo "referer:".$_SESSION['HTTP_REFERER'];
  if(!isset($_SESSION['HTTP_REFERER'])) {
   header("location: index.php");
   exit;
  }
  $urlar = parse_url($_SESSION['HTTP_REFERER']);
  //如果页面的域名不是服务器域名,就连接到登陆窗口
  if($_SERVER["HTTP_HOST"] != $urlar["host"]) {
   header("location: index.php");
   exit;
  }
 }

 /*
 * 读取文件内容
 * 参数 $file 为文件名及完整路径
 * 返回文件内容
 */
 function readfiles($file){
  $tdata = "";
  $fp = fopen($file, "r");

  if(filesize($file) <= 0) return;

  while($data = fread($fp, filesize($file))){
   $tdata .= $data;
  }
  fclose($fp);
  return $tdata;
 }
}
?>
log4j配置文件基本含义说明:【上一篇】
无刷新二级联动下拉菜单(省市联动):【下一篇】
【相关文章】
  • Linux下Apache、php3、MySQL的整合
  • 将 JS 文件嵌入到 HTML、JSP、PHP 中的方法
  • PHP+MYSQL基本功
  • php技术文档无法显示的问题。
  • 关于php生成excel
  • pache+mysql+php
  • 面向对象的PHP开发框架FCS教程[1] 框架基础
  • 面向对象的PHP开发框架FCS教程[2] 目录结构
  • mysql存储过程学习笔记--php应用
  • Apache+php+mysql在windows下的安装与配置图解(转)
  • 【随机文章】
  • 手机MMI设计的五大要素
  • windows 上的命令行
  • J2EE的展现层设计:Applets、servlets和XML结合使用
  • Linux内核中分页机制
  • C#中的异常处理(二)
  • 当DataSet中包含主/子表时,Update更新步骤
  • Windows Server 2003全接触(1)
  • Xhtml第5天:head区的其他设置
  • 使用Tiles和Struts设计web界面
  • Getting Interactive Input in C
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.