php 个人函数库

crypt.php

<?php
function pkcs5_pad ($text, $blocksize) {
        $pad = $blocksize - (strlen($text) % $blocksize);
        return $text . str_repeat(chr($pad), $pad);
    }
  function myCrypt($input,$key)
 {
         $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
        $input =pkcs5_pad($input, $size);
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, ‘‘, MCRYPT_MODE_ECB, ‘‘);
        $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
        mcrypt_generic_init($td, $key, $iv);
        $data = mcrypt_generic($td, $input);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        $data = base64_encode($data);
        return $data;
 }
 function myDecrypt($str,$key)
 {
      $decrypted= mcrypt_decrypt(
        MCRYPT_RIJNDAEL_128,
        $key,
        base64_decode($str),
        MCRYPT_MODE_ECB
    );  

        $dec_s = strlen($decrypted);
        $padding = ord($decrypted[$dec_s-1]);
        $decrypted = substr($decrypted, 0, -$padding);
        return $decrypted;
 }
?>

Common.php

<?php

//DES加密类库
include ‘crypt.php‘;
//Lee便携式类库
include ‘Lee.php‘;

function POST($get_key)
{ 

    $str=$_POST[$get_key];
    return Validata($str);
}

function GET($get_key)
{
    $str=$_GET[$get_key];
    return Validata($str);
}

function Validata($str)
{
    //如果值为空,那么返回空字符串
    if(!isset($str)) return "";
    //过滤html标记
    $farr = array("/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU");
    //过滤类似 <script>  <style> <object>  <meta> <iframe> 等
    $str = preg_replace($farr,"",$str);
    //对单引号、双引号等预定义字符 前面加上反斜杠 如‘变成\‘
    $str=addslashes($str);
    //过滤敏感词汇
    $str=str_replace(explode(",", UNSAFE_WORD),"***",$str);
    //返回结果
    return trim($str);
}

function IP()
{
    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
        $cip = $_SERVER["HTTP_CLIENT_IP"];
    }
    elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
        $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    elseif(!empty($_SERVER["REMOTE_ADDR"])){
        $cip = $_SERVER["REMOTE_ADDR"];
    }
    else{
        $cip = "";
    }
    return $cip;
}

function set_cache($key,$value,$expireTime)
{
    $m = new Memcache();
    $m->connect(CACHE_IP,CACHE_PORT);
    $m->set($key,$value,0,$expireTime);
}

function get_cache($key)
{
    $m = new Memcache();
    $m->connect(CACHE_IP,CACHE_PORT);
    return $m->get($key);
}

function load_model($modelName)
{
    return new Model($modelName);
}

function load_lib($folderName,$touchName)
{

    require_once ‘Library/‘.$folderName.‘/‘.$touchName;
}

?>

Lee.php

<?php

function echo_para($split,$a,$b=0,$c=0,$d=0,$e=0,$f=0,$g=0,$h=0,$i=0,$j=0,$k=0,$l=0,$m=0,$n=0)
{
    //获取参数总数
    $n = func_num_args();
    $str = "";
    for($i = 1;$i< $n;$i++)
    {
        $str .= func_get_arg($i) . $split;
    }
    return $str;
}

function AJAX($Msg,$Result,$Status)
{
    $arr = array("Msg" => $Msg,"Result" => $Result,"Status" => $Status);
    exit(json_encode($arr));
}

function WriteLog($msg,$module = null,$logLevel = "DEBUG")
{
    $filepath = "Log/";
    if(!is_dir($filepath)) mkdir($filepath,‘0777‘);
    $MyLogFile = @fopen($filepath.date("Y-m-d").".txt",‘a+‘);
    $time = date("Y-m-d H:i:s");
    if(isset($module)){$module =  sprintf("\r\n归属模块:".$module."\r\n");}
    $logLine = "\r\n-------------------------------  $time -------------------------------\r\n";
    $logLine .= $module;
    $logLine .= "\r\n异常信息:$msg\r\n";
    $logLine .= "\r\n错误等级:$logLevel\r\n";
    fwrite($MyLogFile,$logLine);
}

//警告
function alert($str)
{
    echo "<script type=‘text/javascript‘>alert(‘".$str."‘)</script>";

}

//页面跳转
function href($url)
{
    echo "<script type=‘text/javascript‘>window.location.href(‘".$url."‘)</script>";
}

function Sub_截取字符串如果超出某位就省略号($str,$num)
{
    if(mb_strlen($str) > $num)
    {
        $str = substr($str,0,$num)."...";
    }
    return $str;
}

function mkFolder($path)
{
    if(!is_readable($path))
    {
        is_file($path) or mkdir($path);
    }
}

?>
时间: 2024-12-31 04:00:36

php 个人函数库的相关文章

ABP展现层——Javascript函数库

ABP展现层——Javascript函数库 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ASP.NET Boil

javaweb学习总结(三十)——EL函数库

一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库,如下所示: MyEclipse自带的JSTL开发包: fn.tld就是EL函数库的对应的tld描述文件,如下图所示: 在页面中使用JSTL定义的EL函数:<%@taglib uri="http://java.su

重温JSP学习笔记--El函数库

EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> String toUpperCase(String input):把参数转换成大写 String toLowerCase(String input):把参数转换成小写 int indexOf(String input, String substring):从大串,输出小

curses不是linux里默认的C函数库

今天在调试一个贪吃蛇程序时,出现如下错误: [[email protected] c++]$ g++ snack.cpp -o snack/tmp/ccCuZ3Jm.o:在函数‘playgame(int, int)’中:snack.cpp:(.text+0xce):对‘erase’未定义的引用snack.cpp:(.text+0xed):对‘mvprintw’未定义的引用snack.cpp:(.text+0x140):对‘mvprintw’未定义的引用snack.cpp:(.text+0x166

Lua中的常用函数库汇总

lua库函数 这些函数都是Lua编程语言的一部分, 点击这里了解更多. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息 collectgarbage() - 垃圾收集器. (新增于1.10.1) date(format, time) - 返回当前用户机器上的时间. error("error message",level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误

PHP中的PDO函数库

PDO是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效. 目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->be

php总结8——mysql函数库、增删改

8.1 mysql函数库 php的函数   .php中用来操作mysql函数库的函数 常用函数 mysql_connect("主机名称/ip","用户名","密码")--->建立php到mysql的连接,返回资源----> mysql_error()  返回上一个mysql操作的文本错误信息 @ 错误抑制符 一般来说,mysql_connect和mysql_error() 一起使用,用如下方式表示: <?php $link[em

机器学习实战之环境配置:windows系统下安装NumPy、SciPy和Matplotlib函数库

在科学和金融领域,SciPy和NumPy等科学函数库都实现了向量和矩阵操作,增加了代码的可读性,降低了阅读门槛:同时这两个库使用底层语言(C和Fortran)编写,提高了相关应用程序的计算性能,被广泛的应用.此外还有绘图工具Matplotlib,可以绘制2D/3D图形,也可以处理科学研究中经常使用到的图形. 三个库各自的下载地址↓ http://sourceforge.net/projects/numpy/files/NumPy http://sourceforge.net/projects/s

----堆栈 STL 函数库 ----有待补充

#include<cstdio> #include<string> #include<vector> #include<iostream> using namespace std; int main() { vector<int> a; int i,b; for(i=0;i<56;i++) a.push_back(i); printf("%d",a.size()); a.resize(10); for(i=0;i<

函数库:静态库和动态库

1.函数库 函数库其实就是一些写好的函数集合,方便别人的复用.实现的封装之后,最终的目的都是给别人调用. 2.库的形式 库的形式分:动态链接库和静态链接库. 优点: (1)库文件都是被编译好的二进制文件,别人看不到源代码,可以保持保密:(2)同时不会因为不小心被修改出现问题,便于维护. LINUX 下的库学习: 静态链接库:.a 文件 其实就是将多函数,做编译但是不链接生成的 .o 文件,使用 ar 工具打包为 .a 的文件.编译的阶段,当调用这些库的时候,链接器就会去 .a 的库文件中拿出被调