PHP个人常用函数封装

function GetIP(){
    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 HttpRequest($url, $type = ‘get‘, $data = ‘‘,$timeout = 10)
    {
        $header = array();
        if ($type == ‘head‘) {
            $header[] = "Content-Type: text/xml; charset=utf-8";
        }else if($type == ‘get‘){
            $header[] = "Accept: */*";
            $header[] = "Accept-Encoding: gzip,deflate,sdch";
            $header[] = "Connection: keep-alive";
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        if ($type != ‘get‘ && !empty($data)) {
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_ENCODING , ‘gzip‘);
        $result[‘response‘] = curl_exec($ch);
        $result[‘status‘]=curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        return $result;
    }
function SaveLog($content = ‘‘, $filename = ‘others‘)
    {
        $rootDir = \Config::get(‘app.rootDir‘);
        $logdir = $rootDir . ‘/app/storage/logs/‘;
        if (!is_dir($logdir)) mkdir($logdir, 0777, true);
        $filename = $filename.‘_‘.date(‘ymd‘);
        $filename = $logdir . $filename . ".log";
        $fp = fopen($filename, "a+");
        $line = 1;
        while (stream_get_line($fp, 8192, "\n")) {
            $line++;
        }
        if ($line > 9999) {
            file_put_contents($filename, ‘‘);
            $line = 1;
        }
        $info = ‘<‘ . sprintf("%04d", $line) . ‘>‘ . date("Y-m-d H:i:s") . ‘<>‘;
        $string = $info . str_replace("\n", "", str_replace("\r", "", $content)) . "\r\n";
        file_put_contents($filename, $string, FILE_APPEND);
        fclose($fp);
    }
/**
     * 获取或保存文件内容
     * @param string $filedir 文件路径
     * @param string $content 文件内容
     * @return string
     */
    function FileContent($filedir = ‘‘, $content = ‘‘)
    {
        if (empty($filedir)) return ‘‘;
        if (empty($content)) {
            if (file_exists($filedir)) {
                $fp = fopen($filedir, "r");
                $content = file_get_contents($filedir);
                fclose($fp);
                return $content;
            } else {
                return ‘‘;
            }
        } else {
            $fps = fopen($filedir, "a");
            file_put_contents($filedir, $content);
            fclose($fps);
            return true;
        }
    }
时间: 2024-10-11 16:15:53

PHP个人常用函数封装的相关文章

Javascript:常用函数封装

//cookie function setCookie(name, value, iDay) { if(iDay!==false) { var oDate=new Date(); oDate.setDate(oDate.getDate()+iDay); document.cookie=name+'='+value+';expires='+oDate+';path=/'; } else { document.cookie=name+'='+value; } } function getCookie

CI框架学习之六 ( 常用函数封装 )

/** * 封装查询函数 */ public function get_what($table='',$where=array(),$fields = ' * '){ if( '' == $table ){ return false; } //查询并返回相关结果 $query = $this->db->select($fields)->where($where)->get($table); $res = $query->result_array(); return $res;

常用函数封装

// 求一个字符串的字节长度 function retByteslen(target){ var count, len; count = len = target.length; for(var i=0;i<len;i++){ if(target.charCodeAt(i) > 255){ count++; } } console.log(count); } // 缓冲运动封装如下:从左往右运动,或从右往左运动均兼容 function startMove(dom, target) { clea

PHP常用函数封装

//二分查找function bin_sch($array, $low, $high, $k){    if ($low <= $high) {        $mid = intval(($low + $high) / 2);        if ($array[$mid] == $k) {            return $mid;        } elseif ($k < $array[$mid]) {            return bin_sch($array, $low,

Python:常用函数封装

def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' and uchar<=u'\u9fa5': return True else: return False def is_number(uchar): """判断一个unicode是否是数字""" if uchar >= u'\u0030

常用函数封装(实时更新)

//作用:日期时间格式化//参数1:时间对象//参数2:连接符//参数3:是否返回时分秒 (true返回,false不返回时分秒)//返回值:格式化后的时间字符串function toFormat(date,splitStr,filed){ var year = date.getFullYear(); var month = date.getMonth() + 1; if(month < 10){ month = "0" + month; } var day = date.get

C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类等常用函数封装

#region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="source"></param> /// <returns></returns> public static bool IsEmail(string source) { return Regex.IsMatch(source, @"^[A-Za-z0-9]

我自己的Javascript 库,封装了一些常用函数 Kingwell.js

我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库 现在Javascript库海量,流行的也多,比如jQuery,YUI等,虽然功能强大,但也是不万能的,功能不可能涉及方方面面,自己写一个的JS库是对这些的补充,很多也比较实用,把应用到项目中中去也比较方面,这也是对工作的一些积累,也加深对知识的理解. 2012-6-20更新,添加设置Cookie,获取Cookie,删除Cookie方法.很

【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包含:数组类.浏览器类.日期类.函数类.数学类.媒体类.节点类.对象类.字符串类.类型检测类.正则表达式类等内容. 使用方法 1. 引入Bable transpiler以保证支持ES6 <script type="javascript/text" src="./browser