• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP常用工具类

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
<?php
namespace isslib\Util;
use think\Config;

/

  • 常用工具类

  • User: xaxiong

  • Date: 2016/12/19

  • Time: 13:47
    */
    class Tool{

    /

    • 简单加密处理函数
    • @param $data
    • @return string
      */
      public static function encodeData(\(data</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">return</span> <span style="color: #008080;">urlencode</span>(json_encode(<span style="color: #800080;">\)data));
      }

    /

    • 简单解密处理函数
    • @param $data
    • @return mixed
      */
      public static function decodeData(\(data</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">return</span> json_decode(<span style="color: #008080;">urldecode</span>(<span style="color: #800080;">\)data),true);
      }

    public static function getPrefix(\(mprefix</span>=''<span style="color: #000000;">){ </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">empty</span>(<span style="color: #800080;">\)mprefix)?Config::get('database.prefix'):Config::get('database.prefix').Config::get('database.mprefix')[$mprefix];
    }

    /

    • 对excel里的日期进行格式转化
    • @param $val 数据
    • @param $format 格式
    • @return string
      */
      public static function GetExceDate(\(val</span>,<span style="color: #800080;">\)format){
      if(!empty(\(val</span><span style="color: #000000;">)) { </span><span style="color: #800080;">\)jd = <span style="color: #008080;">GregorianToJD(1, 1, 1970);
      \(date</span> = \<span style="color: #008080;">JDToGregorian</span>(<span style="color: #800080;">\)jd + intval(\(val</span>) - 25569<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> list(\)month, $day, \(year) = explode('/',\)date);
      if (!empty(\(format</span>)) <span style="color: #800080;">\)date = date(\(format</span>, <span style="color: #008080;">strtotime</span>(<span style="color: #800080;">\)date));
      return $date;
      }
      else{
      return null;
      }
      }

    /

    • 格式化数字

    • @param $number 要格式化的数值

    • @param $type 类型 normal,electric

    • @param \(type 单位后缀 </span><span style="color: #008000;">*/</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> numberFormat(<span style="color: #800080;">\)number,\(type</span>='normal',<span style="color: #800080;">\)extUnit='')
      {
      /

      • @var array 数据格式化类型
        */
        $FORMAT_TYPE=array(
        'normal'=>array(
        array(
        'base'=>100000000,
        'unit'=>'亿'
        )
        ,
        array(
        'base'=>10000,
        'unit'=>'万'
        )
        ,
        array(
        'base'=>1000,
        'unit'=>'千'
        )
        ,
        array(
        'base'=>1,
        'unit'=>''
        )
        )
        ,
        'electric'=>array(
        array(
        'base'=>1000000000000,
        'unit'=>'TW'
        )
        ,
        array(
        'base'=>1000000000,
        'unit'=>'GW'
        )
        ,
        array(
        'base'=>1000000,
        'unit'=>'MW'
        )
        ,
        array(
        'base'=>1000,
        'unit'=>'KW'
        )
        ,
        array(
        'base'=>1,
        'unit'=>'W'
        )
        )
        );

      \(FORMAT_TYPE_ITEM</span>=<span style="color: #800080;">\)FORMAT_TYPE[\(type</span><span style="color: #000000;">]; </span><span style="color: #008000;">//</span><span style="color: #008000;">\)keys=array_keys(\(FORMAT_TYPE_ITEM); //var_dump(\)FORMAT_TYPE_ITEM[\(keys[0]]);exit();</span> <span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">\)number)){
      \(arr</span>['value']= 0<span style="color: #000000;">; </span><span style="color: #800080;">\)arr['unit']='';
      \(arr</span>['base']=1<span style="color: #000000;">; </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">\)arr;
      }
      return self::getMaxUnit(\(number</span>,<span style="color: #800080;">\)FORMAT_TYPE_ITEM,$extUnit);

    }

    /

    • 获取最大单位数据

    • @param $number 数字

    • @param $AllArr 数据类型配置

    • @param string $extUnit 单位

    • @param array $currArr 当前数据

    • @return array
      */
      public static function getMaxUnit(\(number</span>,<span style="color: #800080;">\)AllArr,\(extUnit</span>='',<span style="color: #800080;">\)currArr=array()){
      //if(\(index&gt;count(\)desArr)) return \(returnArr;</span> <span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">\)currArr)){
      \(currArr</span>=<span style="color: #800080;">\)AllArr[0];
      }
      \(key</span>=<span style="color: #800080;">\)currArr['base'];
      \(value</span>=<span style="color: #800080;">\)currArr['unit'];

      \(leaveNum</span>=<span style="color: #800080;">\)number/\(key</span><span style="color: #000000;">; </span><span style="color: #800080;">\)resdata=array();
      //arrayStep::getInstance(\(AllArr)-&gt;setCurrent(\)key);
      if(\(leaveNum</span> &gt; 0 &amp;&amp; <span style="color: #800080;">\)leaveNum < 1){
      //\(nextArr=arrayStep::getInstance(\)AllArr)->getNext();
      \(nextArr</span>=<span style="color: #008080;">next</span>(<span style="color: #800080;">\)AllArr);//var_dump(\(nextArr);</span> <span style="color: #800080;">\)data=self::getMaxUnit(\(number</span>,<span style="color: #800080;">\)AllArr,\(extUnit</span>,<span style="color: #800080;">\)nextArr);
      if(!empty(\(data</span>))<span style="color: #0000ff;">return</span> <span style="color: #800080;">\)data;
      }
      else{
      \(resdata</span>= <span style="color: #0000ff;">array</span><span style="color: #000000;">( </span>'value'=&gt;<span style="color: #008080;">number_format</span>(<span style="color: #008080;">round</span>(<span style="color: #800080;">\)leaveNum)),
      'unit'=>\(value</span>.<span style="color: #800080;">\)extUnit,
      'base'=>\(key</span><span style="color: #000000;"> ); </span><span style="color: #008000;">//</span><span style="color: #008000;">var_dump(\)resdata);
      return $resdata;
      exit();
      }
      }

    /

    • 无限极分类树的生成
    • @param $list 数据
    • @param string $pk key名称
    • @param string $pid 父级编号
    • @param string $child
    • @param int $root
    • @return array
      */
      public static function list_to_tree(\(list</span>, <span style="color: #800080;">\)pk='id',\(pid</span> = 'pid',<span style="color: #800080;">\)child = 'child',\(root</span>=0<span style="color: #000000;">) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 创建Tree</span> <span style="color: #800080;">\)tree = array();
      if(is_array(\(list</span><span style="color: #000000;">)) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 创建基于主键的数组引用</span> <span style="color: #800080;">\)refer = array();
      foreach (\(list</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">\)key => \(data</span><span style="color: #000000;">) { </span><span style="color: #800080;">\)refer[\(data</span>[<span style="color: #800080;">\)pk]] =& \(list</span>[<span style="color: #800080;">\)key];
      }
      foreach (\(list</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">\)key => \(data</span><span style="color: #000000;">) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 判断是否存在parent</span> <span style="color: #800080;">\)parentId = \(data</span>[<span style="color: #800080;">\)pid];
      if (\(root</span> == <span style="color: #800080;">\)parentId) {
      \(tree</span>[] =&amp; <span style="color: #800080;">\)list[\(key</span><span style="color: #000000;">]; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">isset</span>(<span style="color: #800080;">\)refer[\(parentId</span><span style="color: #000000;">])) { </span><span style="color: #800080;">\)parent =& \(refer</span>[<span style="color: #800080;">\)parentId];
      \(parent</span>[<span style="color: #800080;">\)child][] =& \(list</span>[<span style="color: #800080;">\)key];
      }
      }
      }
      }
      return $tree;
      }

    /

    • GET调用接口获取返回值

    • @param $url url地址

    • @param array $header 请求头配置

    • @return mixed
      */
      public function curlGET(\(url</span>,<span style="color: #800080;">\)header=array()){

      \(_SESSION</span>['issTcSession']['get'][<span style="color: #800080;">\)url]['url'] = \(url</span><span style="color: #000000;">; </span><span style="color: #800080;">\)_SESSION['issTcSession']['get'][\(url</span>]['header'] = <span style="color: #800080;">\)header;
      // echo \(url;</span> <span style="color: #800080;">\)ch = curl_init();
      curl_setopt(
      \(ch</span>, CURLOPT_URL, <span style="color: #800080;">\)url);
      curl_setopt(
      \(ch</span>, CURLOPT_HTTPHEADER, <span style="color: #800080;">\)header);
      curl_setopt(
      \(ch</span>, CURLOPT_RETURNTRANSFER, 1<span style="color: #000000;">); curl_setopt(</span><span style="color: #800080;">\)ch, CURLOPT_HEADER, 0);
      curl_setopt(
      \(ch</span>, CURLOPT_TIMEOUT,60); <span style="color: #008000;">//</span><span style="color: #008000;">只需要设置一个秒的数量就可以</span> curl_setopt(<span style="color: #800080;">\)ch, CURLOPT_CONNECTTIMEOUT,0);
      \(starttime</span>=<span style="color: #008080;">microtime</span>(<span style="color: #0000ff;">true</span><span style="color: #000000;">); </span><span style="color: #800080;">\)temp = curl_exec(\(ch</span><span style="color: #000000;">); </span><span style="color: #800080;">\)endtime=microtime(true);
      \(data</span>="---------接口请求总时间:".(<span style="color: #800080;">\)endtime-\(starttime</span>)."-----------------------\n本次接口地址为:<span style="color: #800080;">\)url\n\n\n\n";
      \(_SESSION</span>['logdata'.<span style="color: #800080;">\)_GET['a']]=\(data</span><span style="color: #000000;">; curl_close(</span><span style="color: #800080;">\)ch);
      return $temp;
      }

    /

    • POST调用接口获取返回值

    • @param $url url地址

    • @param string $data 参数

    • @param array $header 请求头

    • @return mixed
      */
      public function curlPOST(\(url</span>,<span style="color: #800080;">\)data='',$header=array()){

      \(_SESSION</span>['issTcSession']['post'][<span style="color: #800080;">\)url]['url'] = \(url</span><span style="color: #000000;">; </span><span style="color: #800080;">\)_SESSION['issTcSession']['post'][\(url</span>]['data'] = <span style="color: #800080;">\)data;
      \(_SESSION</span>['issTcSession']['post'][<span style="color: #800080;">\)url]['header'] = \(header</span><span style="color: #000000;">; </span><span style="color: #800080;">\)curl = curl_init(); // 启动一个CURL会话
      curl_setopt(\(curl</span>, CURLOPT_URL, <span style="color: #800080;">\)url); // 要访问的地址
      curl_setopt(\(curl</span>, CURLOPT_HTTPHEADER, <span style="color: #800080;">\)header);
      curl_setopt(
      \(curl</span>, CURLOPT_SSL_VERIFYPEER, 0); <span style="color: #008000;">//</span><span style="color: #008000;"> 对认证证书来源的检查</span> curl_setopt(<span style="color: #800080;">\)curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
      curl_setopt(\(curl</span>, CURLOPT_USERAGENT, <span style="color: #800080;">\)_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
      curl_setopt(\(curl</span>, CURLOPT_FOLLOWLOCATION, 1); <span style="color: #008000;">//</span><span style="color: #008000;"> 使用自动跳转</span> curl_setopt(<span style="color: #800080;">\)curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
      curl_setopt(\(curl</span>, CURLOPT_POST, 1); <span style="color: #008000;">//</span><span style="color: #008000;"> 发送一个常规的Post请求</span> curl_setopt(<span style="color: #800080;">\)curl, CURLOPT_POSTFIELDS, \(data</span>); <span style="color: #008000;">//</span><span style="color: #008000;"> Post提交的数据包</span> curl_setopt(<span style="color: #800080;">\)curl, CURLOPT_TIMEOUT,60); //只需要设置一个秒的数量就可以
      curl_setopt(\(curl</span>, CURLOPT_CONNECTTIMEOUT,0<span style="color: #000000;">); curl_setopt(</span><span style="color: #800080;">\)curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回

      \(starttime</span>=<span style="color: #008080;">microtime</span>(<span style="color: #0000ff;">true</span><span style="color: #000000;">); </span><span style="color: #800080;">\)tmpInfo = curl_exec(\(curl</span>); <span style="color: #008000;">//</span><span style="color: #008000;"> 执行操作 // if (curl_errno(\)curl)) {
      // echo 'Errno'.curl_error(\(curl); // }</span> <span style="color: #800080;">\)endtime
      =microtime(true);
      \(data</span>="---------接口请求总时间:".(<span style="color: #800080;">\)endtime-\(starttime</span>)."-----------------------\n本次接口地址为:<span style="color: #800080;">\)url\n\n\n\n";
      \(_SESSION</span>['logdata'.<span style="color: #800080;">\)_GET['a']]=\(data</span><span style="color: #000000;">; curl_close(</span><span style="color: #800080;">\)curl); // 关键CURL会话
      return $tmpInfo; // 返回数据
      }

    /

    • json数据返回格式化

    • @param $data 数据

    • @param string $status 状态

    • @param string $errorCode 错误代码

    • @param string $message 消息

    • @param null \(total 数据条数 </span><span style="color: #008000;">*/</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> jsonReturn(<span style="color: #800080;">\)data,\(status</span>='1',<span style="color: #800080;">\)errorCode='1',\(message</span>='',<span style="color: #800080;">\)total=null)
      {

      if(\(data</span><span style="color: #000000;">) { </span><span style="color: #800080;">\)json['status'] = 1;
      \(json</span>['errorCode'] = <span style="color: #800080;">\)errorCode;
      \(json</span>['errorMsg'] = '请求成功'<span style="color: #000000;">; </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">\)total)
      {
      \(json</span>['total'] = <span style="color: #800080;">\)total;
      }
      else
      {
      \(json</span>['total'] = <span style="color: #008080;">count</span>(<span style="color: #800080;">\)data);
      }
      \(json</span>['data'] = <span style="color: #800080;">\)data;
      }
      else
      {
      if(\(status</span> != '1'<span style="color: #000000;">) { </span><span style="color: #800080;">\)json['status'] = \(status</span><span style="color: #000000;">; </span><span style="color: #800080;">\)json['errorCode'] = \(errorCode</span><span style="color: #000000;">; </span><span style="color: #800080;">\)json['errorMsg'] =empty(\(message</span>)? '请求失败':<span style="color: #800080;">\)message;
      }
      else
      {
      \(json</span>['status'] = '0'<span style="color: #000000;">; </span><span style="color: #800080;">\)json['errorCode'] = '0';
      \(json</span>['errorMsg'] =<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">\)message)? '请求失败':\(message</span><span style="color: #000000;">; } </span><span style="color: #800080;">\)json['total'] = '0';
      \(json</span>['data'] = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); } </span><span style="color: #008080;">header</span>("Content-type: application/json"<span style="color: #000000;">); </span><span style="color: #0000ff;">echo</span> json_encode(<span style="color: #800080;">\)json);

    }

    /

    • 保留小数
    • @param $number 数字
    • @param int $num 几位小数
    • @return float|int
      */
      public function decimal(\(number</span>,<span style="color: #800080;">\)num=1){
      \(number</span> = <span style="color: #008080;">round</span>(<span style="color: #800080;">\)number,\(num</span><span style="color: #000000;">); </span><span style="color: #800080;">\)number1 = intval(\(number</span><span style="color: #000000;">); </span><span style="color: #800080;">\)number2 = \(number</span> &gt; <span style="color: #800080;">\)number1 ? \(number</span> : <span style="color: #800080;">\)number1;
      return $number2;

    }

    /

    • 数组排序

    • @param $arr 数组

    • @param $keys key名

    • @param string $type 排序类型 asc,desc

    • @param int $is0

    • @param int $isK

    • @return array
      */
      function arraySort(\(arr</span>, <span style="color: #800080;">\)keys, \(type</span> = 'asc',<span style="color: #800080;">\)is0=0,\(isK</span>=0<span style="color: #000000;">) { </span><span style="color: #800080;">\)keysvalue = \(new_array</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); </span><span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">\)arr as \(k</span> =&gt; <span style="color: #800080;">\)v){
      \(keysvalue</span>[<span style="color: #800080;">\)k] = \(v</span>[<span style="color: #800080;">\)keys];
      }
      \(type</span> == 'asc' ? <span style="color: #008080;">asort</span>(<span style="color: #800080;">\)keysvalue) : arsort(\(keysvalue</span><span style="color: #000000;">); </span><span style="color: #008080;">reset</span>(<span style="color: #800080;">\)keysvalue);
      foreach (\(keysvalue</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">\)k => $v) {

       </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$isK</span> == 1<span style="color: #000000;">)
       {
           </span><span style="color: #800080;">$new_array</span>[<span style="color: #800080;">$k</span>] = <span style="color: #800080;">$arr</span>[<span style="color: #800080;">$k</span><span style="color: #000000;">];
       }
       </span><span style="color: #0000ff;">else</span><span style="color: #000000;">
       {
           </span><span style="color: #800080;">$new_array</span>[] = <span style="color: #800080;">$arr</span>[<span style="color: #800080;">$k</span><span style="color: #000000;">];
       }
      

      }
      if(\(is0</span> == 1<span style="color: #000000;">) { </span><span style="color: #0000ff;">foreach</span>(<span style="color: #800080;">\)new_array as \(vo_is0</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">\)vo_is0[\(keys</span>] &gt; 0<span style="color: #000000;">){ </span><span style="color: #800080;">\)new_array_s[] = \(vo_is0</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">\)new_array_s;
      }
      return $new_array;
      }

    /

    • 判断是否 为空 给 后端数据转成null
    • @param $data
    • @param int $isStr 0表示不转字符串,1:表示传成字符串
    • @return mixed
      */
      function arrIsNull(\(data</span>,<span style="color: #800080;">\)isStr=0)
      {
      foreach(\(data</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">\)k=>&\(vo</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">\)vo) && (\(k</span> != 'startRow') &amp;&amp; (<span style="color: #800080;">\)k != 'endRow') && (\(k</span> != 'education'<span style="color: #000000;">)) { </span><span style="color: #800080;">\)vo = null;
      }
      else{
      if(\(isStr</span><span style="color: #000000;">){ </span><span style="color: #800080;">\)vo .= "";
      }
      }
      }
      return $data;
      }

    /

    • 着色
    • @param $colorarr
    • @param $data
    • @return mixed
      */
      function color2data(\(colorarr</span>,<span style="color: #800080;">\)data){
      \(count</span> = <span style="color: #008080;">count</span>(<span style="color: #800080;">\)colorarr);
      \(count_data</span> = <span style="color: #008080;">count</span>(<span style="color: #800080;">\)data);
      \(d</span> = <span style="color: #008080;">intval</span>(<span style="color: #800080;">\)count_data/\(count</span><span style="color: #000000;">); </span><span style="color: #800080;">\)d = \(d</span> &lt;= 1 ? 1 : <span style="color: #800080;">\)d;
      \(c</span> = 0<span style="color: #000000;">; </span><span style="color: #800080;">\)n = 1;
      foreach(\(data</span> <span style="color: #0000ff;">as</span> &amp;<span style="color: #800080;">\)vo)
      {
      \(temp</span>['style'] = 'esriSFSSolid'<span style="color: #000000;">; </span><span style="color: #800080;">\)temp['color'] = \(colorarr</span>[<span style="color: #800080;">\)c];
      \(outline</span>['color'] = <span style="color: #0000ff;">array</span>(106, 212, 238,255<span style="color: #000000;">); </span><span style="color: #800080;">\)outline['width'] = 1;
      \(temp</span>['outline'] = <span style="color: #800080;">\)outline;
      \(vo</span>['coverStyle'] =<span style="color: #800080;">\)temp;
      if(\(n</span> == <span style="color: #800080;">\)d)
      {
      if(\(c</span> &lt; <span style="color: #800080;">\)count-1)
      {
      \(c</span>++<span style="color: #000000;">; } </span><span style="color: #800080;">\)n = 1;
      }
      else
      {
      \(n</span>++<span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">\)data;
      }

    /

    • 截取字符串
    • @param $str
    • @param $start
    • @param $lenth
    • @return string
      */
      public function subStr(\(str</span>, <span style="color: #800080;">\)start, \(lenth</span><span style="color: #000000;">) { </span><span style="color: #800080;">\)str1 = mb_substr(\(str</span>,<span style="color: #800080;">\)start,\(lenth</span>,'UTF8'<span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">\)str==\(str1</span> ? <span style="color: #800080;">\)str : $str1.'...';
      }

    /

    • 截取字符串

    • @param $str

    • @return int
      */
      public function str2num(\(str</span><span style="color: #000000;">) { </span><span style="color: #800080;">\)num1 = (int)\(str</span><span style="color: #000000;">; </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">\)num1 == $str)
      {

       </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$num1</span><span style="color: #000000;">;
      

      }
      else
      {
      return $str;
      }

    }

    /

    • 字符串转数组转字符串
    • @param $data
    • @return mixed
      */
      public function str2arr2str(\(data</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">foreach</span>(<span style="color: #800080;">\)data as &\(vo</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">foreach</span>(<span style="color: #800080;">\)vo as &\(vo1</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">if</span>(<span style="color: #008080;">is_array</span>(<span style="color: #800080;">\)vo1))
      {
      \(vo1</span> = json_encode(<span style="color: #800080;">\)vo1);
      // \(vo1 = implode(',',\)vo1);
      }
      }
      }
      return $data;
      }

    function letter(\(value</span><span style="color: #000000;">) { </span><span style="color: #800080;">\)letter = '';
    do {
    \(letter</span> = <span style="color: #008080;">chr</span>(65 + (<span style="color: #800080;">\)value % 26)) . \(letter</span><span style="color: #000000;">; </span><span style="color: #800080;">\)temp = intval(\(value</span> / 26<span style="color: #000000;">); </span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">\)temp > 0) {
    \(value</span> = <span style="color: #800080;">\)value - 26;
    }
    \(value</span> = <span style="color: #008080;">intval</span>(<span style="color: #800080;">\)value / 26);
    }
    while (\(temp</span> != 0<span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">\)letter;
    }

    /

    • 调试函数

    • @param unknown $str 要叠加字符的变量名

    • @param unknown $addstr 要添加的字符

    • @param string $ifdel 是否将之前的变量清空

    • @return string
      */
      public static function halt(\(logFile</span>,<span style="color: #800080;">\)str,\(ifdel</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">) { </span><span style="color: #008080;">header</span>("Content-type: text/html; charset=utf-8"<span style="color: #000000;">); </span><span style="color: #800080;">\)logname = C('SOURCE_DATA')['logs_dir'] . \(logFile</span> . '-' . <span style="color: #008080;">date</span>("Ymd") . '.html'<span style="color: #000000;">; </span><span style="color: #800080;">\)tmpstr = date("Y-m-d h:i:sa") . ' ';

      if (\(ifdel</span><span style="color: #000000;">) { </span><span style="color: #008000;">//</span><span style="color: #008000;">清除日志文件内容</span> @<span style="color: #008080;">file_put_contents</span>(<span style="color: #800080;">\)logname, "");
      }
      if (!empty(\(str</span><span style="color: #000000;">)) { </span><span style="color: #800080;">\)tmpstr .= '--' . \(str</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> { </span><span style="color: #008000;">//</span><span style="color: #008000;">将日导写入日导文件</span> self::writeFile(<span style="color: #800080;">\)logname, \(tmpstr</span> . "\r\n", 'a+'<span style="color: #000000;">); } </span><span style="color: #0000ff;">catch</span> (<span style="color: #0000ff;">Exception</span> <span style="color: #800080;">\)e) {
      echo '写入日志出现错误!,错误内容为:' . \(e</span>-&gt;<span style="color: #000000;">getMessage(); </span><span style="color: #008000;">//</span><span style="color: #008000;">\)this->writeFile(\(logname,\)str.'Error:'.$e);
      }
      }

    /

    • 写文件
    • @param string $file 文件路径
    • @param string $str 写入内容
    • @param char \(mode 写入模式 </span><span style="color: #008000;">*/</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> writeFile(<span style="color: #800080;">\)file,\(str</span>,<span style="color: #800080;">\)mode='w')
      {
      \(oldmask</span> = @<span style="color: #008080;">umask</span>(0<span style="color: #000000;">); </span><span style="color: #800080;">\)fp = @fopen(\(file</span>,<span style="color: #800080;">\)mode);
      @
      flock(\(fp</span>, 3<span style="color: #000000;">); </span><span style="color: #0000ff;">if</span>(!<span style="color: #800080;">\)fp)
      {
      Return false;
      }
      else
      {
      @

      鲜花

      握手

      雷人

      路过

      鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP中的字符串替换(str_replace)发布时间:2022-07-10
下一篇:
php配置发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap