PHP的自定义函数(非源生自带)

这是一些自定义封装的函数类,调用起来很方便,以后会有更多的封装函数更新!

// 弹框跳转function alert($msg,$url=‘‘){   echo "<script>";   echo "alert(‘$msg‘);";   if($url){      echo "window.location.href=‘$url‘;";   }else{      echo "window.history.go(-1);";   }   echo "</script>";}

//获取单条数据function getONE($sql){   $sql = mysql_query($sql);   $list = array();   if($sql && mysql_affected_rows()>0){      $list = mysql_fetch_assoc($sql);   }return $list;}
//获取多条数据function getALL($sql){   $sql = mysql_query($sql);   $list = array();   if($sql && mysql_affected_rows()>0){      while($row = mysql_fetch_assoc($sql)){      $list[] = $row;      }   }return $list;}
/** * [delete 删除数据] * @param  [string] $table [表名] * @param  [string] $where [条件] * @return [boolean]       [返回结果] *///删除数据SQL语句封装function delete($table,$where){   //构造删除的SQL语句   $sql = "DELETE FROM `$table` WHERE $where;";      // dump($sql);exit;   //把SQL语句执行   $res = mysql_query($sql);   //判断是否执行成功   if($res && mysql_affected_rows()>0){      return true;   }else{      return false;   }}
/** * [update 更新数据] * @param  [string] $table [表名] * @param  [array]  $array [要更新的数据] * @param  [string] $where [条件] * @return [type]        [返回结果] *///更新数据SQL语句封装function update($table,$array,$where){   $str = ‘‘;   foreach($array as $key => $value){      $str .= "`".$key."`=‘".$value."‘,";   }   //去除最右边的逗号   $str = rtrim($str,‘,‘);   //构造更新的SQL语句   $sql = "UPDATE `$table` SET $str WHERE $where";   // dump($sql);exit;   $res = mysql_query($sql);   //判断是否执行成功   if($res){      return true;   }else{      return false;   }}
/** * [insert 插入数据] * @param  [string] $table [表名] * @param  [array] $data  [数据] * @return [bool]        [是否成功] */function insert($table,$data){   $tmp = array_keys($data);   $field = ‘`‘.implode(‘`,`‘, $tmp).‘`‘;

   $value =  "‘".implode("‘,‘",$data)."‘";

   $sql = "INSERT INTO $table ($field) VALUES ($value)";   // dump($sql);exit;   $res = mysql_query($sql);   if($res && mysql_affected_rows()>0){      return mysql_insert_id();   }else{      return false;   }}

//pre预排版打印function dump($content){   echo "<pre>";   print_r($content);   echo "</pre>";}


/** *  * 字符截取 * @param string $string * @param int $start * @param int $length * @param string $charset * @param string $dot *  * @return string */function str_cut(&$string, $start, $length, $charset = "utf-8", $dot = ‘...‘) {   if(function_exists(‘mb_substr‘)) {      if(mb_strlen($string, $charset) > $length) {         return mb_substr ($string, $start, $length, $charset) . $dot;      }      return mb_substr ($string, $start, $length, $charset);

   }else if(function_exists(‘iconv_substr‘)) {      if(iconv_strlen($string, $charset) > $length) {         return iconv_substr($string, $start, $length, $charset) . $dot;      }      return iconv_substr($string, $start, $length, $charset);   }

   $charset = strtolower($charset);   switch ($charset) {      case "utf-8" :         preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $string, $ar);         if(func_num_args() >= 3) {            if (count($ar[0]) > $length) {               return join("", array_slice($ar[0], $start, $length)) . $dot;            }            return join("", array_slice($ar[0], $start, $length));         } else {            return join("", array_slice($ar[0], $start));         }         break;      default:         $start = $start * 2;         $length   = $length * 2;         $strlen = strlen($string);         for ( $i = 0; $i < $strlen; $i++ ) {            if ( $i >= $start && $i < ( $start + $length ) ) {               if ( ord(substr($string, $i, 1)) > 129 ) $tmpstr .= substr($string, $i, 2);               else $tmpstr .= substr($string, $i, 1);            }            if ( ord(substr($string, $i, 1)) > 129 ) $i++;         }         if ( strlen($tmpstr) < $strlen ) $tmpstr .= $dot;                  return $tmpstr;   }}


/** * [uploads 文件上传函数] * @param  [string]  $name    [表单域的name名] * @param  [string]  $catalog [文件保存的路径] * @param  array   $type    [允许上传的文件类型] * @param  integer $size    [允许上传的文件大小] * @return [array]           [error 1 上传失败 2 上传成功] */function uploads($name,$catalog,$type=array(‘jpg‘,‘jpeg‘,‘gif‘,‘png‘),$size=1048576){   $status = $_FILES[$name][‘error‘];   if($status>0){      switch($status){         case 1:             $res[‘msg‘] = "文件上传超过最大值2M";            $res[‘err‘] = 1;            return $res;            break;         case 2:            $res[‘msg‘] = "文件上传超过MAX_FILE_SIZE大小";            $res[‘err‘] = 1;            return $res;            break;         case 3:            $res[‘msg‘] =  "文件上传失败";            $res[‘err‘] = 1;            return $res;            break;         case 4:            $res[‘msg‘] =  ‘请选择文件‘;            $res[‘err‘] = 1;            return $res;            break;         default:            break;      }   }

   if($_FILES[$name][‘size‘]>$size){      $res[‘msg‘] = ‘上传文件超出指定大小‘;      $res[‘err‘] = 1;      return $res;         }   $ext = pathinfo($_FILES[$name][‘name‘],PATHINFO_EXTENSION);   if(!in_array($ext,$type)){      $res[‘msg‘] = ‘请上传指定的文件类型‘;      $res[‘err‘] = 1;      return $res;   }   //第一种做法   $catalog = rtrim($catalog,‘/‘);   $file_dir = date(‘Y/m/d‘);   $dir = $catalog.‘/‘.$file_dir;   if(!is_dir($dir)){      mkdir($dir,0777,true);   }   do{      $file = time().mt_rand(1000,9999);      $filename = $file.‘.‘.$ext;      $newname = $dir.‘/‘.$filename;   }while(is_file($dir.‘/‘.$filename));      move_uploaded_file($_FILES[$name][‘tmp_name‘], $dir.‘/‘.$filename);   $res[‘msg‘] = ‘文件上传成功‘;   $res[‘err‘] = 2;   $res[‘filename‘] = $file_dir.‘/‘.$filename;   $res[‘name‘] = $filename;   return $res;}

//封装缩略图的函数function small($file,$widths,$heights,$address){   $filename="$file";   $info = getimagesize($filename);

   //获取图片的宽   $width = $info[0];   //获取图片的高   $height = $info[1];

   //打开图片   if($info[2]==1){      $parent = imagecreatefromgif($filename);   }else if($info[2]==2){      $parent = imagecreatefromjpeg($filename);   }else if($info[2]==3){      $parent = imagecreatefrompng($filename);   }

   $son_width = $widths;   $son_height = $heights;   // 等比例缩放   // $son_height = ceil(($height*$son_width)/$width);

   //w/h = s_w/s_h   //新建图像   $son = imagecreatetruecolor($son_width,$son_height);

   imagecopyresized($son,$parent,0,0,0,0,$son_width,$son_height,$width,$height);   $path = pathinfo($filename,PATHINFO_EXTENSION);   $time = time();   $pathname = $time.mt_rand(1000,9999).‘.‘.$path;

   $save = $address.$pathname;   if($info[2]==1){      imagegif($son,$save);   }else if($info[2]==2){      imagejpeg($son,$save);   }else if($info[2]==3){      imagepng($son,$save);   }   imagedestroy($son);   imagedestroy($parent);   return $pathname;   }


/** * 获得用户的真实IP地址 * * @access  public * @return  string */function real_ip(){    static $realip = NULL;

    if ($realip !== NULL)    {        return $realip;    }

    if (isset($_SERVER))    {        if (isset($_SERVER[‘HTTP_X_FORWARDED_FOR‘]))        {            $arr = explode(‘,‘, $_SERVER[‘HTTP_X_FORWARDED_FOR‘]);

            /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */            foreach ($arr AS $ip)            {                $ip = trim($ip);

                if ($ip != ‘unknown‘)                {                    $realip = $ip;

                    break;                }            }        }        elseif (isset($_SERVER[‘HTTP_CLIENT_IP‘]))        {            $realip = $_SERVER[‘HTTP_CLIENT_IP‘];        }        else        {            if (isset($_SERVER[‘REMOTE_ADDR‘]))            {                $realip = $_SERVER[‘REMOTE_ADDR‘];            }            else            {                $realip = ‘0.0.0.0‘;            }        }    }    else    {        if (getenv(‘HTTP_X_FORWARDED_FOR‘))        {            $realip = getenv(‘HTTP_X_FORWARDED_FOR‘);        }        elseif (getenv(‘HTTP_CLIENT_IP‘))        {            $realip = getenv(‘HTTP_CLIENT_IP‘);        }        else        {            $realip = getenv(‘REMOTE_ADDR‘);        }    }    preg_match("/[\d\.]{7,15}/", $realip, $onlineip);    $realip = !empty($onlineip[0]) ? $onlineip[0] : ‘0.0.0.0‘;    return $realip;}
 
时间: 2024-11-06 21:00:15

PHP的自定义函数(非源生自带)的相关文章

SQL Server -- 自定义函数(学习总结,备忘)

SQL Server自定义函数,以前只在书上看过,没有动手去敲一敲,今天刚好接触到,看了几篇博文学习了下.做好备忘很重要!! (@[email protected])Y Learn from:http://www.cnblogs.com/lideng/archive/2013/04/15/3022418.html 自定义函数分为:标量值函数或表值函数两种. 标量值函数:如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数. 表值函数:如果 RETURNS 子句指定 TABLE,则函

Microsoft SQL Server 自定义函数整理大全

01.去除字符串中的html标记及标记中的内容 [叶子函数分享一]去除字符串中的html标记及标记中的内容 --1.创建函数 create function [dbo].[clearhtml] (@maco varchar(8000)) returns varchar(8000) as begin     declare @i int     while 1 = 1     begin        set @i=len(@maco)        set @maco=replace(@maco

MySQL学习笔记—自定义函数

MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格.tab.换行符等等).该语法与标准SQL注释语法稍有不同. 从/序列到后面的/序列.结束序列不一定在同一行中,因此该语法允许注释跨越多行. 下面的例子显示了3种风格的注释: mysql> SELECT 1+1; # This comment continues to the end of li

发布一个计算桩号之差的Excel自定义函数(VBA)

这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量. 该函数具有一定的通用性.可以在MS Office和金山WPS上使用. 文末会给出使用本函数的简单步骤,关于如何在Excel(或WPS)中自定义函数的较详细介绍请移步这里[1]. 将下面内容复制到模块中去,保存后即可使用自定义的ZH_Len函数计算两个桩号之间的长度. '函数:ZH_Len '作用:起终点桩号之差(返回数字) '作者:@我只是一小小鸟 [email protected

C/S权限系统得到拼音和五笔的自定义函数(二)

得到五笔: CREATE FUNCTION [dbo].[fun_getWB](@Str VARCHAR(2000)) RETURNS VARCHAR(2000) AS BEGIN DECLARE @t table (id int identity, col varchar(6000)) INSERT INTO @t SELECT 'A鞴鞲鞣鞫鞯鞔鞒鞑鞅靼銎跫綦翳蛩颟鹳鹋鸫鸢慝觐觋贳瓯戡檠迓甙忒弋撖摁廾蘼蘖蘩蘅蘧藿藜藁藓薰薷薹薅薜薮蕹薏薇薨薤蕻蕲蕃瞢蕺蕞蕤蕨蕈蕙蓼蓿蔻蕖蔺蔟蔹蓰蔸甍蔌蓣蓥蒗蒴蒹蒡

Oracle自定义函数1

用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(value)函数,其中,value被称为参数.函数参数有3种类型. IN 参数类型:表示输入给函数的参数. OUT 参数类型:表示参数在函数中被赋值,可以传给函数调用程序. IN OUT参数类型:表示参数既可以传值也可以被赋值. 1.语法格式: SQL语法方式创建的语法格式为: CREATE OR REPLACE FUNCTION function_name         /*函数名称*/(Para

MySQL学习笔记-自定义函数

MySQL学习笔记-自定义函数 1.自定义函数简介 自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同 自定义函数的两个必要条件:(1)参数  (2)返回值 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 关于函数体: 1.函数体可以由合法的SQL语句构成: 2.函数体可以是

Oracle自定义函数

核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] datatype1, argu2 [mode2] datatype2, ........ ) return datatype is begin end; 执行 var v1 varchar2(100) exec :v1:=function_na 函数用于返回特定数据.执行时得找一个变量接收函数的返回值;

转:存储过程和自定义函数的区别

首先来看一下存储过程和自定义函数的概念 一. 什么是存储过程? 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理. 存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量.有条件执行以及其它强大的编程功能. 存储过程可包含程序流.逻辑以及对数据库的查询.它们可以接受参数.输出参数. 返回单个或多个结果集以及返回值. 可以出于任何使用SQL 语句的目的来使用存储过程