コード例 #1
0
function ckarrayeval($array, $level = 0)
{
    if (!is_array($array)) {
        return "\"" . $array . "\"";
    }
    if (is_array($array) && function_exists('var_export')) {
        return var_export($array, true);
    }
    $space = '';
    for ($i = 0; $i <= $level; $i++) {
        $space .= "\t";
    }
    $evaluate = "Array\n{$space}(\n";
    $comma = $space;
    if (is_array($array)) {
        foreach ($array as $key => $val) {
            $key = is_string($key) ? '\'' . addcslashes($key, '\'\\') . '\'' : $key;
            //转换
            $val = !is_array($val) && (!preg_match("/^\\-?[1-9]\\d*\$/", $val) || strlen($val) > 12) ? '\'' . addcslashes($val, '\'\\') . '\'' : $val;
            //转换
            if (is_array($val)) {
                $evaluate .= "{$comma}{$key} => " . ckarrayeval($val, $level + 1);
            } else {
                //$val = addslashes($val);
                $evaluate .= "{$comma}{$key} => \"{$val}\"";
            }
            $comma = ",\n{$space}";
        }
    }
    $evaluate .= "\n{$space})";
    return $evaluate;
}
コード例 #2
0
 function set($key, $value, $ttl = 0)
 {
     if (!$key) {
         return false;
     }
     $cache_file = $this->_get_cache_path($key);
     $cache_data = "<?php\r\n/**\r\n *  @Created By FEILIU PhpFileCacheServer\r\n *  @Time:" . date('Y-m-d H:i:s') . "\r\n */";
     $cache_data .= $this->_get_expire_condition(intval($ttl));
     $cache_data .= "\r\nreturn " . ckarrayeval($value) . ";\r\n";
     $cache_data .= "\r\n?>";
     @chmod($cache_file, 0777);
     return file_put_contents($cache_file, $cache_data, LOCK_EX);
 }