php中将数组缓存化记录

     $value){  
                    $var.="$t'".addslashes($key)."'=>";  
                    if(is_array($value)){  
                        $var.="array(\r\n";  
                        $var=Function_Class::export_ArrayString_child($value,0,$t,$var);  
                        $var.="$t),\r\n";  
                    } else{  
                        $var.="'".addslashes($value)."',\r\n";  
                    }  
                }  
            }  
            if($c){  
                $var.=")";  
            }  
            return $var;  
        }  
      
        /** 
     *普通变量缓存字符串生成 
     * 
     * @param string $varName  变量名 
     * @param string $string  变量数据 
     * @return string 
     */  
        function export_StrString($varName,$string)  
        {  
            $string=addslashes($string);  
            $string="\"$string\";\r\n";  
            $string="{1}quot;.$varName."=".$string;  
            return $string;  
        }  
      
        /** 
         * 数据集缓存操作生成字符串 
         * 
         * @param obj $queryObj  数据集� 
         * @param string $arrayName 要缓存数组名� 
         * @param  int $result_type 数据集排序形式� 
         * @return string 
         */  
        function DataBase_QueryCache($queryObj,$arrayName,$result_type = MYSQL_ASSOC)  
        {  
            $blogdb=array();  
            while ($rt=mysql_fetch_array($queryObj,$result_type)) {  
                $blogdb[]=$rt;  
            }  
            unset($queryObj,$SelectSql);  
            return Function_Class::export_ArrayString($arrayName,$blogdb);  
        }  
      
        /** 
     * 把缓存字符串写入文件� 
     *  
     * @param string $filename  文件名 
     * @param string  $data 要写入的数据 
     * @param string $method 写入模式 与文件操作的模式一样 
     * @param string  $iflock  是否锁定文件 
     */  
        function writeFile($filename,$data,$method="rb+",$iflock=1){  
            touch($filename);  
            $handle=fopen($filename,$method);  
            if($iflock){  
                flock($handle,LOCK_EX);  
            }  
            fwrite($handle,$data);  
            if($method=="rb+") ftruncate($handle,strlen($data));  
            fclose($handle);  
        }  
      
        /** 
     * 读文件内容 
     * 
     * @param string $filename 文件名 
     * @param string $method  与件操作的模式 
     * @return string    
     */  
        function readFile($filename,$method="rb"){  
            if($handle=@fopen($filename,$method)){  
                flock($handle,LOCK_SH);  
                $filedata=fread($handle,filesize($filename));  
                fclose($handle);  
            }  
            return $filedata;  
        }  
      
        /** 
         * 数组排序方法 
         * 
         * @param  array $arraylist 要排序的数组 
         * @param string $key 要实行排序的字段名 
         * @param string $type  排序形式  desc   asc 
         * @return unknown 
         */  
        function mysort($arraylist=array(),$key="",$type="DESC")  
        {  
            if(!$arraylist)return $arraylist;  
            if(!$key)return $arraylist;  
            $tempArray=array();  
            foreach ($arraylist as $arrayKey=>$arrayValue)  
            {  
                foreach ($arraylist as $arrayKey2=>$arrayValue2)  
                {  
                    if(strtoupper($type)=="DESC")  
                    {  
                        if(intval($arrayValue[$key])>intval($arrayValue2[$key]))  
                        {  
                            $tempArray=$arrayValue;  
                            $arrayValue=$arrayValue2;  
                            $arrayValue2=$tempArray;  
                            $arraylist[$arrayKey]=$arrayValue;  
                            $arraylist[$arrayKey2]=$tempArray;  
                        }  
                    }  
                    else  
                    {  
                        if(intval($arrayValue[$key])=224) //如果ASCII位高与224,  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,3); //根据UTF-8编码规范,将3个连续的字符计为单个字符  
                    $i=$i+3; //实际Byte计为3  
                    $n++; //字串长度计1  
                }  
                elseif ($ascnum>=192) //如果ASCII位高与192,  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,2); //根据UTF-8编码规范,将2个连续的字符计为单个字符  
                    $i=$i+2; //实际Byte计为2  
                    $n++; //字串长度计1  
                }  
                elseif ($ascnum>=33 && $ascnum<=59) //其它标点号,  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,1);  
                    $i=$i+1; //实际的Byte数仍计1个  
                    $n++; //但考虑整体美观,大写字母计成一个高位字符  
                }  
                elseif ($ascnum>=65 && $ascnum<=90) //如果是大写字母,  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,1);  
                    $i=$i+1; //实际的Byte数仍计1个  
                    $n++; //但考虑整体美观,大写字母计成一个高位字符  
                }  
                elseif($ascnum>=48 && $ascnum<=57)//如果是数字的  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,1);  
                    $i=$i+1; //实际的Byte数仍计1个  
                    $n++; //但考虑整体美观,大写字母计成一个高位字符  
                }  
                elseif($ascnum===32)//如果是空格的  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,1);  
                    $i=$i+1; //实际的Byte数仍计1个  
                    $n++; //但考虑整体美观,大写字母计成一个高位字符  
                }  
                elseif($ascnum===64)//@  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,1);  
                    $i=$i+1; //实际的Byte数计1个  
                    $n=$n+0.5; //小写字母和半角标点等与半个高位字符宽...  
                }  
                else //其他情况下,包括小写字母和半角标点符号,  
                {  
                    $returnstr=$returnstr.substr($sourcestr,$i,1);  
                    $i=$i+1; //实际的Byte数计1个  
                    $n=$n+0.5; //小写字母和半角标点等与半个高位字符宽...  
                }  
            }  
            if ($str_length>$cutlength){  
                if($isshowmessage)  
                $returnstr = $returnstr . $message;//超过长度时在尾处加上省略号  
            }  
            return $returnstr;  
        }  
      
      
        /** 
         * 返回HTML内容 
         * 
         * @param string $content  要处理的非HTML内容 
         * @return string 
         */  
        function getHtmlString($content)  
        {  
            $Sw = $content;  
            if(empty($Sw))return "";  
            $Sw =str_replace("&","&",$Sw);  
            $Sw =str_replace("<","<",$Sw);  
            $Sw =str_replace(">",">",$Sw);  
            $Sw =str_replace(" "," ",$Sw);  
            $Sw =str_replace("\n","
",$Sw); $Sw =str_replace("\"",""",$Sw); $Sw =str_replace("'","’",$Sw); $Sw =str_replace("\t"," ",$Sw); $Sw =str_replace("?","&##8226;",$Sw); return $Sw; } /** * *返回指时间内是否大于当前系统时差 暂只做月的 * @param timespace$cimTime * @param int $comLength * @param string $type * @return bool */ function timeOut($cimTime,$comLength=1,$type='M') { $type=strtoupper($type); $thisSystemTime=time();//当前时间 $cimTime=intval($cimTime); if($cimTime==$thisSystemTime)return true;//如果时间相同刚为通过状态 $dateArray=getdate($cimTime);//返回时间数组 if($type=="M")//是否大于指定月的 { $monthDay=date("t",Function_Class::returnNextMonthDay($cimTime,$comLength));//返回当前时间月分的天数 $comthietime=$cimTime+($comLength*$monthDay*24*60*60); if($comthietime<$thisSystemTime) return true; //过期 else return false; //没有过期 } } /** * * @param 间间隔 $timespace * @param 指时的时长 $comLength * @return 时间间隔 */ function returnNextMonthDay($timespace,$comLength) { for ($i=1;$i<=$comLength;$i++) { $monthDay=date("t",$timespace);//返回当前时间月分的天数 $timespace=$timespace+($monthDay*24*60*60);//得到指定时间内加一这本月实际天数,既当前月再加一个月,如果$comLength>2以上则拿加后下一个月的天数再加一个月 } return $timespace; } /** * 返回指定内容,对应数据关键字段用指定符号分开 * * @param obj $SpiltObj 数据 * @param bool $isquest 是否为数据集 不是则为数组 * @param string $splitKey 要得到键名的 * @param string $isaddActionString 开头是否加入指定默认值 * @param string $splitString 要分割的字符串 * @return unknown */ function expSplit($SpiltObj,$isquest=false,$splitKey,$isaddActionString="-1",$splitString=',') { /*是数据集*/ $SpString=""; if($isquest) { $SpString=$isaddActionString; while ($rt=mysql_fetch_array($SpiltObj)) { if(empty($SpString)||$SpString=="") $SpString=$rt[$splitKey]; else $SpString.=$splitString.$rt[$splitKey]; } unset($SpiltObj); return $SpString; } else//是数据组 { $SpString=$isaddActionString; foreach ($SpiltObj as $key=>$val) { if(empty($SpString)||$SpString=="") $SpString=$val[$splitKey]; else $SpString.=$splitString.$val[$splitKey]; } unset($SpiltObj); return $SpString; } return $SpString; } /** * 字符串加解密 * * $str=$Function_Class->strCode("abc","哈哈","ENCODE"); *$str=$Function_Class->strCode($str,"哈哈","DECODE"); * * * @param string $string 要处理的字符串 * @param string $offKey 加密的偏移量 为空则为拿当前用户请求的IP * @param string $action ENCODE加密 DECODE解密 * @return string */ function StrCode($string,$offKey="",$action='ENCODE'){ if($offKey=="") $key = substr(md5($_SERVER["HTTP_USER_AGENT"]),8,18); else $key=substr(md5($offKey),8,18); unset($offKey); $string = $action == 'ENCODE' ? $string : base64_decode($string); $len = strlen($key); $code = ''; for($i=0; $i $value){ if(!is_numeric($value)) return false; $ret.=$extra.$value; $extra=$splitString; } return $ret; } else{ $dataarray=explode($splitString,$selid); $isokdata=$this->checkselid($dataarray,$splitString); if($isokdata==false) return false; else return $isokdata; } } /** * 检查传入来的URL是否正确 * * @param stirng $checkUrl * @return bool */ function validateUrl($checkUrl) { if(!ereg("^(http|https|ftp)://((([a-zA-Z0-9-]+.){1,}[a-zA-Z]{2,4})|(localhost))(:[0-9]+){0,1}(/[a-zA-Z0-9-_,./+&%$#=~]+)*{1}quot;,$checkUrl)) return true; else return false; } /** * 返回保存目录信息 * * @param defined $rootR_P 根目录 * @param bool $Transcoding 是否要生成转码目录 * @param string $server_type 应用类型,是加在目录前做来标识用 * @param string $attachpath 保存的第一级目录 * @param string $DirType 保存目录格式类型 * @return array */ function CreateAttachmentDir($rootR_P,$Transcoding=false,$server_type="",$attachpath="attachment",$DirType="M") { if($attachpath=="") return false; $DirType=strtoupper($DirType); $Folder=array(); $savedir=""; switch ($DirType) { case 'Y':$savedir = $server_type.'_Year_'.date('Y');break; case 'M':$savedir = $server_type.'_Mon_'.date('ym');break; case 'D':$savedir = $server_type.'_Day_'.date('ymd');break; default:$savedir = $server_type.'_Mon_'.date('ym');break; } if(!is_dir($rootR_P."$attachpath")) { @mkdir($rootR_P."$attachpath"); @chmod($rootR_P."$attachpath", 0777); @fclose(@fopen($rootR_P."$attachpath".'/index.html', 'w')); @chmod($rootR_P."$attachpath".'/index.html', 0777); } if(!is_dir($rootR_P."$attachpath/$savedir")) { @mkdir($rootR_P."$attachpath/$savedir"); @chmod($rootR_P."$attachpath/$savedir", 0777); @fclose(@fopen($rootR_P."$attachpath/$savedir".'/index.html', 'w')); @chmod($rootR_P."$attachpath/$savedir".'/index.html', 0777); } $source=$rootR_P."$attachpath/$savedir"; if(!is_dir($rootR_P."$attachpath/$savedir/image")) { @mkdir($rootR_P."$attachpath/$savedir/image"); @chmod($rootR_P."$attachpath/$savedir/image", 0777); @fclose(@fopen($rootR_P."$attachpath/$savedir/image".'/index.html', 'w')); @chmod($rootR_P."$attachpath/$savedir/image".'/index.html', 0777); } if(!$Transcoding) { $source.="/image"; $savedir.="/image"; } $Folder["parent_folder"]=$attachpath; $Folder["child_folder"]=$savedir; $Folder["save_folder"]=$source; return $Folder; } /** * 生成分割标签的HTML * * @param string $tags 标签 * @param string $requestPage请法度的地址 * @param string $className 连接的样式 * @return string */ function splitTabs($tags,$requestPage,$className) { if(empty($tags)) return ""; $data=explode(",",$tags); $html=" "; $href=""; foreach ($data as $key=>$value) { $tempvalue=rawurlencode($value); if(empty($requestPage))$href="javascript:void(0);"; else $href=$requestPage.$tempvalue; $html.=" $value"; unset($tempvalue); } unset($href,$requestPage); return $html; } } ?>


你可能感兴趣的:(PHP开发和架构)