php常用的函数

<?php
    //地图转换
    function Convert_BD09_To_GCJ02($lat,$lng){
        $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
        $x = $lng - 0.0065;
        $y = $lat - 0.006;
        $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
        $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
        $lng = $z * cos($theta);
        $lat = $z * sin($theta);
        return array('lng'=>$lng,'lat'=>$lat);
    }

    function Convert_GCJ02_To_BD09($lat,$lng){
            $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
            $x = $lng;
            $y = $lat;
            $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi);
            $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi);
            $lng = $z * cos($theta) + 0.0065;
            $lat = $z * sin($theta) + 0.006;
            return array('lng'=>$lng,'lat'=>$lat);
    }
    //日志
    function logg($data){
        $fp = fopen('./log.txt','a');
        if(is_array($data)){
            $data = json_encode($data);
        }
        fwrite($fp,$data);
        fclose($fp);    
    }

    public function clear_html($array) 
     {
            if (!is_array($array))
                return trim(htmlspecialchars($array, ENT_QUOTES));
            foreach ($array as $key => $value) {
                if (is_array($value)) {
                    $this->clear_html($value);
                } else {
                    $array[$key] = trim(htmlspecialchars($value, ENT_QUOTES));
                }
            }
            return $array;
        }

     public function dexit($data = '') 
     {
        if (is_array($data)) {
            echo json_encode($data);
        } else {
            echo $data;
        }
        exit();
     }

 
    //二维数组转一维数组
    public function arr2_arr1($arrdata,$v)
    {
        $arrs = array();
        foreach ($arrdata as $key => $value) {
            $arrs[] = $value[$v];
        }
        return $arrs;
    }
    //生成php随机数
     public function randomkey($length)   
    {   
       $pattern = '1234567890abcdefghijklmnopqrstuvwxyz   
                   ABCDEFGHIJKLOMNOPQRSTUVWXYZ';  
        for($i=0;$i<$length;$i++)   
        {   
            $key .= $pattern{mt_rand(0,35)};    //生成php随机数   
        }   
        return $key;   
    }
    
    
    //打印
    public function dump($var, $echo = true, $label = null, $strict = true)
{
    $label = ($label === null) ? '' : rtrim($label) . ' ';
    if (!$strict) {
        if (ini_get('html_errors')) {
            $output = print_r($var, true);
            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
        } else {
            $output = $label . print_r($var, true);
        }
    } else {
        ob_start();
        var_dump($var);
        $output = ob_get_clean();
        if (!extension_loaded('xdebug')) {
            $output = preg_replace("/]=>
(s+)/m", '] => ', $output);
            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
        }
    }
    if ($echo) {
        echo($output);
        return null;
    } else
        return $output;
}

 //无限极分类
      function GetTree($arr,$pid,$step){
        global $tree;
        foreach($arr as $key=>$val) {
            if($val['auth_pid'] == $pid) {
                $flg = str_repeat('└―',$step);
                $val['name'] = $flg.$val['name'];
                $tree[] = $val;
                GetTree($arr , $val['id'] ,$step+1);
            }
        }
        return $tree;
   }
    

/**
 * 公共方法
 */
 

/**
 * 去除多余的转义字符
 */
function doStripslashes(){
    if(get_magic_quotes_gpc()){
        $_GET = stripslashesDeep($_GET);
        $_POST = stripslashesDeep($_POST);
        $_COOKIE = stripslashesDeep($_COOKIE);
        $_REQUEST = stripslashesDeep($_REQUEST);
    }
}

/**
 * 递归去除转义字符
 */
function stripslashesDeep($value){
    $value = is_array($value) ? array_map('stripslashesDeep', $value) : stripslashes($value);
    return $value;
}

/**
 * URL重定向
 * @param string $url 重定向的URL地址
 * @param integer $time 重定向的等待时间(秒)
 * @param string $msg 重定向前的提示信息
 * @return void
 */
function redirect($url, $time=0, $msg=''){
    //多行URL地址支持
    $url        = str_replace(array("
", "
"), '', $url);
    if (empty($msg))
        $msg    = "系统将在{$time}秒之后自动跳转到{$url}!";
    if (!headers_sent()){
        // redirect
        if (0 === $time) {
            header('Location: ' . $url);
        } else {
            header("refresh:{$time};url={$url}");
            echo($msg);
        }
        exit();
    } else {
        $str    = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
        if ($time != 0)
            $str .= $msg;
        exit($str);
    }
}

/**
 * 得到网站的网址
 */
function getWebUrl() {
    $phpself = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : '';
    if(preg_match("/^.*//", $phpself, $matches)){
        return 'http://' . $_SERVER['HTTP_HOST'] . $matches[0];
    }else{
        return '';
    }
}
/**
 * 得到网址的顶级域名
 */
function getUrlTopDomain($url){
    $domain_array = parse_url($url);
    $host = strtolower($domain_array['host']);
    $two_suffix = array('.com.cn','.gov.cn','.net.cn','.org.cn','.ac.cn');
    foreach($two_suffix as $key=>$value){
        preg_match('#(.*?)'.$value.'$#',$host,$match_arr);
        if(!empty($match_arr)){
            $match_array = $match_arr;
            break;
        }
    }
    $host_arr = explode('.',$host);
    if(!empty($match_array)){
        $host_arr_last1 = array_pop($host_arr);
        $host_arr_last2 = array_pop($host_arr);
        $host_arr_last3 = array_pop($host_arr);
        
        return $host_arr_last3.'.'.$host_arr_last2.'.'.$host_arr_last1;
    }else{
        $host_arr_last1 = array_pop($host_arr);
        $host_arr_last2 = array_pop($host_arr);
        return $host_arr_last2.'.'.$host_arr_last1;
    }
}
/**
 * 得到网址的域名
 */
function getUrlDomain($url){
    $domain_array = parse_url($url);
    $host = strtolower($domain_array['host']);
    return $host;
}

/**
 * 快速文件数据读取和保存 针对简单类型数据 字符串、数组
 * @param string $name 缓存名称
 * @param mixed $value 缓存值
 * @param string $path 缓存路径
 * @return mixed
 */
function F($name, $value='', $path = DATA_PATH){
    static $_cache  = array();
    $filename       = $path . $name . '.php';
    if ('' !== $value) {
        if (is_null($value)) {
            // 删除缓存
            return false !== strpos($name,'*')?array_map("unlink", glob($filename)):unlink($filename);
        } else {
            // 缓存数据
            $dir            =   dirname($filename);
            // 目录不存在则创建
            if (!is_dir($dir))
                mkdir($dir,0755,true);
            $_cache[$name]  =   $value;
            return file_put_contents($filename, strip_whitespace("<?php	return " . var_export($value, true) . ";?>"));
        }
    }
    if (isset($_cache[$name]))
        return $_cache[$name];
    // 获取缓存数据
    if (is_file($filename)) {
        $value          =   include $filename;
        $_cache[$name]  =   $value;
    } else {
        $value          =   false;
    }
    return $value;
}

/**
 * 快速哈希文件数据读取和保存 针对简单类型数据 字符串、数组
 * @param string $name 缓存名称
 * @param mixed $value 缓存值
 * @param mixed $level 缓存的目录数
 * @param string $path 缓存路径
 * @return mixed
 */
function S($name, $value='',$time=0,$level=2,$path=CACHE_PATH){
    static $_scache  = array();
    $name = md5($name);
    $haxi_dir = '';
    for($i=0;$i<$level;$i++){
        $haxi_dir .= $name[$i].'/';
    }
    $filename = $path . $haxi_dir . $name . '.php';
    
    if ('' !== $value) {
        if (is_null($value)){
            // 删除缓存
            return false !== strpos($name,'*') ? array_map("unlink",glob($filename)) : unlink($filename);
        } else {
            // 缓存数据
            $dir  =  dirname($filename);
            
            // 目录不存在则创建
            if (!is_dir($dir))
                mkdir($dir,0755,true);
            
            $save_file['content'] = $value;
            if($time > 0){
                $save_file['expire_time'] = $_SERVER['REQUEST_TIME'] + $time;
            }
            $_scache[$name]  =   $value;
            return file_put_contents($filename, strip_whitespace("<?php	return " . var_export($save_file, true) . ";?>"));
        }
    }
    if (isset($_scache[$name]))
        return $_scache[$name];
    // 获取缓存数据
    if (is_file($filename)) {
        $value          =   include $filename;
        if(!empty($value['expire_time']) && $value['expire_time']<$_SERVER['REQUEST_TIME']){
            strpos($name,'*') ? array_map("unlink",glob($filename)) : unlink($filename);
             $return = false;
        }
        $return = $value['content'];
        $_scache[$name]  =   $return;
    } else {
        $return = false;
    }
    return $return;
}

/**
 * 去除代码中的空白和注释
 * @param string $content 代码内容
 * @return string
 */
function strip_whitespace($content){
    $stripStr   = '';
    //分析php源码
    $tokens     = token_get_all($content);
    $last_space = false;
    for ($i = 0, $j = count($tokens); $i < $j; $i++) {
        if (is_string($tokens[$i])) {
            $last_space = false;
            $stripStr  .= $tokens[$i];
        } else {
            switch ($tokens[$i][0]) {
                //过滤各种PHP注释
                case T_COMMENT:
                case T_DOC_COMMENT:
                    break;
                //过滤空格
                case T_WHITESPACE:
                    if (!$last_space) {
                        $stripStr  .= ' ';
                        $last_space = true;
                    }
                    break;
                case T_START_HEREDOC:
                    $stripStr .= "<<<THINK
";
                    break;
                case T_END_HEREDOC:
                    $stripStr .= "THINK;
";
                    for($k = $i+1; $k < $j; $k++) {
                        if(is_string($tokens[$k]) && $tokens[$k] == ';') {
                            $i = $k;
                            break;
                        } else if($tokens[$k][0] == T_CLOSE_TAG) {
                            break;
                        }
                    }
                    break;
                default:
                    $last_space = false;
                    $stripStr  .= $tokens[$i][1];
            }
        }
    }
    return $stripStr;
}

/**
 * 自动加载
 */
function __autoload($class){
    if(file_exists(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php')){
        require_once(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php');
        return;
    }else if(file_exists(PIGCMS_PATH.'library/controller/'.$class.'.php')) {
        require_once(PIGCMS_PATH.'library/controller/'.$class.'.php');
        return;
    }else if(file_exists(PIGCMS_PATH.'library/model/'.$class.'.php')){
        require_once(PIGCMS_PATH.'library/model/'.$class.'.php');
        return;
    }else if(file_exists(PIGCMS_PATH.'library/class/'.$class.'.class.php')){
        require_once(PIGCMS_PATH.'library/class/'.$class.'.class.php');
        return;
    }else if(file_exists(PIGCMS_PATH.'source/class/'.$class.'.class.php')){
        require_once(PIGCMS_PATH.'source/class/'.$class.'.class.php');
        return;
    }

    $class = strtolower($class);
    if(file_exists(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php')){
        require_once(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php');
    }else if(file_exists(PIGCMS_PATH.'library/controller/'.$class.'.php')) {
        require_once(PIGCMS_PATH.'library/controller/'.$class.'.php');
    }else if(file_exists(PIGCMS_PATH.'library/model/'.$class.'.php')){
        require_once(PIGCMS_PATH.'library/model/'.$class.'.php');
    }else if(file_exists(PIGCMS_PATH.'library/class/'.$class.'.class.php')){
        require_once(PIGCMS_PATH.'library/class/'.$class.'.class.php');
    }else if(file_exists(PIGCMS_PATH.'source/class/'.$class.'.class.php')){

        require_once(PIGCMS_PATH.'source/class/'.$class.'.class.php');
    }else{
        pigcms_tips($class . ' 类不存在。','none');
    }
}

/**
 * 加载文件
 *
 */
function import($file){
    $file_arr = explode('.',$file);
    $file_arr_count = count($file_arr);
    if(class_exists($file_arr[$file_arr_count-1],false)) return false;
    switch($file_arr_count){
        case 1:
            if(substr($file_arr[0],0,1) == '@'){
                $load_file = PIGCMS_PATH.'library/class/'.substr($file_arr[0],1).'.class.php';
            }else{
                $load_file = PIGCMS_PATH.'source/class/'.$file_arr[0].'.class.php';
            }
            break;
        case 2:
            if(substr($file_arr[0],0,1) == '@'){
                $load_file = PIGCMS_PATH.'library/'.substr($file_arr[0],1).'/'.$file_arr[1].'.class.php';
            }else{
                $load_file = PIGCMS_PATH.'source/'.$file_arr[0].'/'.$file_arr[1].'.class.php';
            }
            break;
        case 3:
            $load_file = PIGCMS_PATH.$file_arr[0].'/'.$file_arr[1].'/'.$file_arr[2].'.class.php';
            break;
        default:
            $file_data = '';
            foreach($file_arr as $val){
                if($file_data == ''){
                    $file_data = $val;
                }else{
                    $file_data .= '/'.$val;
                }
            }
            $load_file = PIGCMS_PATH.$file_data.'.class.php';
    }
    require_file($load_file);
}

/**
 * 调用数据库类
 */
function D($table='',$other=array()){
    static $db_list;
    import('source.class.mysql');
    if(empty($other)){
        if (!empty($table) && isset($db_list[$table])) {
            return $db_list[$table];
        }
        $db = new mysql();

        if($table){
            $db_list[$table] = $db;
            $db->table($table);
        }
    }else{
        $db = new mysql($other);
        $db->table($table);
    }


    return $db;
}

/**
 * 引入并使用控制器的方法
 */
function R($group,$mode,$action){
    $mode = strtolower($mode);
    $mode_file = PIGCMS_PATH.'library/controller/'.$group.'/'.$mode.'_controller.php';
    if(file_exists($mode_file)){
        $mode_name = $mode.'_controller';
        require($mode_file);
        if(!class_exists($mode_name)){
            pigcms_tips($mode_name.' 类不存在。','none');
        }
        $mode_obj = new $mode_name;
        if(!method_exists($mode_obj,$action)){
            if(method_exists($mode_obj,'_empty')){
                $action = '_empty';
            }else{
                pigcms_tips($action.' 方法不存在。','none');
            }
        }
        $mode_obj->$action();
    }else if(file_exists(TPL_PATH.'/'.ACTION_NAME.'.php')){
        display();
    }else{
        if(DEBUG){
            pigcms_tips($mode_file.' 控制器文件不存在。','none');
        }else{
            pigcms_tips($group.'分组 控制器 '.$mode.' 文件不存在。','none');
        }
    }
}
/**
 * 获得系统参数
 */
function option($name=null,$value=null){
    global $_G;
     // 无参数时获取所有
    if(empty($name)){
        return $_G;
    }
    // 优先执行设置获取或赋值
    if(is_string($name)){
        if (!strpos($name,'.')) {
            $name = strtolower($name);
            if (is_null($value))
                return isset($_G[$name]) ? $_G[$name] : null;
            $_G[$name] = $value;
            return;
        }
        // 二维数组设置和获取支持
        $name = explode('.', $name);
        $name[0]   =  strtolower($name[0]);
        if (is_null($value))
            return isset($_G[$name[0]][$name[1]]) ? $_G[$name[0]][$name[1]] : null;
        $_G[$name[0]][$name[1]] = $value;
        return;
    }
    return null; // 避免非法参数
}
/**
 * 引入并实例化MODEL类
 */
function M($model){
    $lower_model = strtolower($model);
    $model_file = PIGCMS_PATH.'library/model/'.$lower_model.'_model.php';
    if(file_exists($model_file)){
        $model_name = $lower_model.'_model';
        if(!class_exists($model_name,false)){
            require($model_file);
            if(!class_exists($model_name)){
                pigcms_tips($model_name.' 类不存在。','none');
            }
        }
        $model_obj = new $model_name($model);
        return $model_obj;
    }else{
          $model_file = PIGCMS_PATH.'source/plugins/bonus/model/'.$lower_model.'_model.php';
          if (file_exists($model_file)) {
                $model_name = $lower_model.'_model';
                if(!class_exists($model_name,false)){
                    require($model_file);
                    if(!class_exists($model_name)){
                        pigcms_tips($model_name.' 类不存在。','none');
                    }
                }
        $model_obj = new $model_name($model);
        return $model_obj;
          }else{

             pigcms_tips($model_file.' 文件不存在。','none');
          }
    }
}

function datetime($unix_time){
    return date('Y-m-d H:i:s',$unix_time);
}


function W($model){
    $lower_model = strtolower($model);//source/plugins/bonus/model/bonus_model.php'
    $model_file = PIGCMS_PATH.'source/plugins/bonus/model/'.$lower_model.'_model.php';
    if(file_exists($model_file)){
        $model_name = $lower_model.'_model';
        if(!class_exists($model_name,false)){
            require($model_file);
            if(!class_exists($model_name)){
                pigcms_tips($model_name.' 类不存在。','none');
            }
        }
        $model_obj = new $model_name($model);
        return $model_obj;
    }else{
        pigcms_tips($model_file.' 文件不存在。','none');
    }
}
/**
 * 浏览器友好的变量输出
 * @param mixed $var 变量
 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
 * @param string $label 标签 默认为空
 * @param boolean $strict 是否严谨 默认为true
 * @return void|string
 */
function dump($var, $echo=true, $label=null, $strict=true) {
    $label = ($label === null) ? '' : rtrim($label) . ' ';
    if (!$strict) {
        if (ini_get('html_errors')) {
            $output = print_r($var, true);
            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
        } else {
            $output = $label . print_r($var, true);
        }
    } else {
        ob_start();
        var_dump($var);
        $output = ob_get_clean();
        if (!extension_loaded('xdebug')) {
            $output = preg_replace('/]=>
(s+)/m', '] => ', $output);
            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
        }
    }
    if ($echo) {
        echo($output);
        return null;
    }else
        return $output;
}

/**
 * 引入模板显示模板
 */
/*function display($tpl=''){
    global $_G;
    $now_group = GROUP_NAME;
    $now_module = MODULE_NAME;
    $now_action = ACTION_NAME;
    $now_theme = $_G['config']['theme_'.$now_group.'_group'];


    if(empty($now_theme)) $now_theme = 'default';
    if(empty($tpl)){
        $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.$now_action.'.php';
    }else{
        $tpl_arr = explode(':',$tpl);
        $tpl_arr_count = count($tpl_arr);
        switch($tpl_arr_count){
            case 1:
                if($now_group == 'wap' && option('config.is_diy_template')){

                    if(file_exists(TPL_PATH.$now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php')){
                        if(USE_FRAMEWORK){
                            $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                        }else{
                            $tpl_file = $now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                        }
                    }else{

                        if(USE_FRAMEWORK){
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }else{
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }

                    }

                }else{

                    if(USE_FRAMEWORK){
                        $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                    }else{
                        $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                    }

                }

                break;
            case 2:
                $tpl_file = $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'/'.$tpl_arr[1].'.php';
                break;
            case 3:
                $tpl_file = $tpl_arr[0].'/'.$_G['config']['theme_'.$tpl_arr[0].'_group'].'/'.$tpl_arr[1].'/'.$tpl_arr[2].'.php';
                break;
            default:
                pigcms_tips('参数过多,无法实例化模板!');
        }
        if($tpl_arr_count == 1){
            
        }else if($tpl_arr_count == 2){
            
        }else if($tpl_arr_count == 3){
            
        }
    }

    if(file_exists(TPL_PATH.$tpl_file)){
        return TPL_PATH.$tpl_file;
    }else{
        if(DEBUG){
            pigcms_tips('模板文件 template/'.$tpl_file.' 文件不存在。','none');
        }else{
            pigcms_tips('模板文件 不存在!');
        }
    }
}*/
function plu_url($m,$c)
{
        global $_G;
    
        $return_url = $_G['config']['site_url'].'/';
       $return_url.=  "./plugin.php?plugin=site&p=user&m=$m&c=$c";
      echo $return_url;

}
function disp($m,$c)
{
    $tpl_file ='./source/plugins/bonus/view/'.$m.'/'.$c.'.php';
    return $tpl_file;
}

function disps($do,$m,$c)
{
    $tpl_file ='./source/plugins/'.$do.'/view/'.$m.'/'.$c.'.php';
    return $tpl_file;
}

function display($tpl=''){
    global $_G;
    $now_group = GROUP_NAME;
    $now_module = MODULE_NAME;
    $now_action = ACTION_NAME;
    $now_theme = $_G['config']['theme_'.$now_group.'_group'];


    if(empty($now_theme)) $now_theme = 'default';
    if(empty($tpl)){
        $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.$now_action.'.php';
    }else{
        $tpl_arr = explode(':',$tpl);
        $tpl_arr_count = count($tpl_arr);
        switch($tpl_arr_count){
            case 1:
                if($now_group == 'wap' && option('config.is_diy_template')){

                    if(file_exists(TPL_PATH.$now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php')){
                        if(USE_FRAMEWORK){
                            $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                        }else{
                            $tpl_file = $now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                        }
                    }else{

                        if(USE_FRAMEWORK){
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }else{
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }

                    }

                }else{

                    if(USE_FRAMEWORK){
                        $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                    }else{
                        $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                    }

                }

                break;
            case 2:
                $tpl_file = $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'/'.$tpl_arr[1].'.php';
                break;
            case 3:
                $tpl_file = $tpl_arr[0].'/'.$_G['config']['theme_'.$tpl_arr[0].'_group'].'/'.$tpl_arr[1].'/'.$tpl_arr[2].'.php';
                break;
            default:
              $tpl_file ='./source/plugins/'.$tpl_arr[2].'/view/'.$tpl_arr[4].'/'.$tpl_arr[5].'.php';
              //echo $tpl_file;die;
              //$tpl_file ='./source/plugins/bonus/view/'.$tpl_arr[4].'/'.$tpl_arr[5].'.php';
            
        }
        if($tpl_arr_count == 1){
            
        }else if($tpl_arr_count == 2){
            
        }else if($tpl_arr_count == 3){
            
        }
    }
    //var_dump(TPL_PATH.$tpl_file);die;
    if(file_exists(TPL_PATH.$tpl_file)){
        return TPL_PATH.$tpl_file;
    }else{
        if(DEBUG){
            pigcms_tips('模板文件 template/'.$tpl_file.' 文件不存在。','none');
        }else{
            return $tpl_file;
            pigcms_tips('模板文件 不存在!');
        }
    }
}

/**
 * 生成URL
 */
function url($url='',$param=array(),$showDomain=false){
    global $_G;
    if($showDomain){
        $return_url = $_G['config']['site_url'].'/';
    }else{
        $return_url = getWebUrl();
    }
    $url_arr = explode(':',$url);
    
    $url_arr_count = count($url_arr);
    switch($url_arr_count){
        case 1:
            $return_url .= ltrim($_SERVER['SCRIPT_NAME'],'/').'?c='.MODULE_NAME.'&a='.$url_arr[0];
            break;
        case 2:
            $return_url .= ltrim($_SERVER['SCRIPT_NAME'],'/').'?c='.$url_arr[0].'&a='.$url_arr[1];
            break;
        case 3:
            $return_url .= $url_arr[0].'.php'.'?c='.$url_arr[1].'&a='.$url_arr[2];
            break;
        case 4:
            pigcms_tips('参数过多,只允许接收3个参数!');
    }
    if($param){
        $return_url .= '&'.http_build_query($param);
    }
    return $return_url;
}
function urls($u)
{
    //var_dump($u);
    
    $a ="index.php?c=category&a=index&id=$u";
return $a;
}
//将url转换成静态url  
function url_rewrite($file,$params = array (),$html = "",$rewrite = true) {    
     if ($rewrite) {
        if(strpos($file,':')){
            $file     = substr($file, 0, strpos($file, ':'));
            //echo $file;die;
            $url = option('config.site_url').'/index.php?c=' . $file;
        }else{
            $url = ($file == 'index') ? '' : '/index.php?c=' . $file;  
        }
         $url .='&index&id=';
        if (!empty ($html)) {  
             //$url .= '.' . $html;  
        }

        if (!empty ($params) && is_array($params)) {  
            $url .= implode('/', $params);  
        }

        if($file == 'goods' || $file == 'store'){
            //$url .= '.' . 'html'; 
        }

        /*foreach ($params as $key => $value) {  index.php?c=goods&a=index&id=$1
            $url .= '/'.$key.'/'.$value;
        }*/

     } else {
        $url     = url($file,$params);
    }
    //echo $url;die;
    return $url;
}
//将url转换成静态url  
function url_rewrites($file,$params = array (),$html = "",$rewrite = true) {    
     if ($rewrite) {
        if(strpos($file,':')){
            $file     = substr($file, 0, strpos($file, ':'));
            $url = option('config.site_url').'/' . $file;
        }else{
            $url = ($file == 'index') ? '' : '/' . $file;  
        }

        if (!empty ($html)) {  
             $url .= '.' . $html;  
        }

        if (!empty ($params) && is_array($params)) {  
            $url .= '/' . implode('/', $params);  
        }

        if($file == 'goods' || $file == 'store'){
            $url .= '.' . 'html'; 
        }

        /*foreach ($params as $key => $value) {
            $url .= '/'.$key.'/'.$value;
        }*/

     } else {
        $url     = url($file,$params);
    }
    return $url;
}

/**
 * 生成URL并输出
 */
function dourl($url='',$param=array(),$showDomain=false){
    echo url($url,$param,$showDomain);
}

/**
 * 得到字符串的一部分
 */
function msubstr($str, $start=0, $length,$suffix=true,$charset="utf-8"){
    if(function_exists("mb_substr")){
        if ($suffix && strlen($str)>$length)
            return mb_substr($str, $start, $length, $charset)."...";
        else
            return mb_substr($str, $start, $length, $charset);
    }
    elseif(function_exists('iconv_substr')) {
        if ($suffix && strlen($str)>$length)
            return iconv_substr($str,$start,$length,$charset)."...";
        else
            return iconv_substr($str,$start,$length,$charset);
    }
    $re['utf-8']   = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";
    $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";
    $re['gbk']    = "/[x01-x7f]|[x81-xfe][x40-xfe]/";
    $re['big5']   = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";
    preg_match_all($re[$charset], $str, $match);
    $slice = join("",array_slice($match[0], $start, $length));
    if($suffix) return $slice."";
    return $slice;
}

/**
 * 得到字符串的utf8格式
 */
function get_utf8($word){ 
    if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true){ 
        return $word; 
    }else{ 
        return iconv('gbk','utf-8',$word); 
    } 
}

/**
 * JSON返回
 *
 * param err_code 返回的错误编码
 * param err_msg  返回的错误信息
 * param err_dom  返回的DOM标识
 */
function clear_html($array) 

     {

            if (!is_array($array))

                return trim(htmlspecialchars($array, ENT_QUOTES));

            foreach ($array as $key => $value) {

                if (is_array($value)) {

                    $this->clear_html($value);

                } else {

                    $array[$key] = trim(htmlspecialchars($value, ENT_QUOTES));

                }

            }

            return $array;

     }



function dexit($data = '') 

    {

            if (is_array($data)) {

                echo json_encode($data);

            } else {

                echo $data;

            }

            exit();

    }


function json_return($err_code,$err_msg='',$err_dom=''){
    $json_arr['err_code'] = $err_code;
    if($err_msg) $json_arr['err_msg'] = $err_msg;
    if($err_dom) $json_arr['err_dom'] = $err_dom;
    if(!headers_sent()) header('Content-type:application/json');
    exit(json_encode($json_arr));
}
 
 
/**
 * 检测插件是否存在
 *
 * @param string $plugin 插件名称
 * @param string $attr 参数
 */
/*function check_plugin($plugin){
    if (is_string($plugin) && file_exists(PIGCMS_PATH.'source/plugins/'.$plugin.'/'.$plugin.'.php')){
        return true;
    }else{
        return false;
    }
}*/
function check_plugin($plugin){
    if (is_string($plugin) && file_exists(PIGCMS_PATH.'source/plugins/'.$plugin.'.php')){
        return true;
    }else{
        return false;
    }
}

/**
 * 得到插件的url
 *
 * @param string $plugin 插件名称
 * @param string $attr 参数 
 */
function url_plugin($plugin,$attr=''){
    global $_G;
    if(!defined('IS_MOBILE')){
        $site_url = $_G['config']['site_url'];
    }else{
        $site_url = $_G['config']['mobile_site_url'];
    }
    if(!empty($attr)){
        return $site_url.'/index.php?plugin='.$plugin.'&'.$attr;
    }else{
        return $site_url.'/index.php?plugin='.$plugin;
    }
}

/**
 * 得到文件的大小
 */
function getSize($size){
    $kb = 1024;
    $mb = 1024*$kb;
    $gb = 1024*$mb;
    $tb = 1024*$gb;
    if($size<$kb){ 
        return $size." B";
    }else if($size<$mb){ 
        return round($size/$kb,2)." KB";
    }else if($size<$gb){ 
        return round($size/$mb,2)." MB";
    }else if($size<$tb){ 
        return round($size/$gb,2)." GB";
    }else{ 
        return round($size/$tb,2)." TB";
    }
}

/**
 * 判断是否手机访问
 */
function is_mobile(){
    if(preg_match('/(iphone|ipad|ipod|android)/i', strtolower($_SERVER['HTTP_USER_AGENT']))){
        return true;
    }else{
        return false;
    }
}
/**
 * 判断是否微信访问
 */
function is_weixin(){
    if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false){
        return true;
    }else{
        return false;
    }
}
/**
 * 得到附件的网址
 * is_remote,是否是远程,否时直接用本地图片
 */
function getAttachmentUrl($fileUrl, $is_remote = true){

    if(empty($fileUrl)){
        return '';
    }else{
        // 如果已经是完整url地址,则不做处理
        if (strstr($fileUrl, 'http://') !== false) {
            return $fileUrl;
        }

        $attachment_upload_type = option('config.attachment_upload_type');
        $url = option('config.site_url') . '/upload/';
        if ($attachment_upload_type == '1' && $is_remote) {
            $url = 'http://' . option('config.attachment_up_domainname') . '/';
        }

        return $url . $fileUrl;
    }
}
/**
 * 得到附件相对应网站目录的文件地址
 */
function getAttachmentFilePath($fileUrl){
    return PIGCMS_PATH.'upload/'.$fileUrl;
}

/**
 * 获取客户端IP地址
 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
 * @return mixed
 */
function get_client_ip($type = 0) {
    $type       =  $type ? 1 : 0;
    static $ip  =   NULL;
    if ($ip !== NULL) return $ip[$type];
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
        $pos    =   array_search('unknown',$arr);
        if(false !== $pos) unset($arr[$pos]);
        $ip     =   trim($arr[0]);
    }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $ip     =   $_SERVER['HTTP_CLIENT_IP'];
    }elseif (isset($_SERVER['REMOTE_ADDR'])) {
        $ip     =   $_SERVER['REMOTE_ADDR'];
    }
    // IP地址合法验证
    $long = sprintf("%u",ip2long($ip));
    $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
    return $ip[$type];
}


/**
 * 等比例绽放图片大小
 */
 function drawImg($from,$w=100,$h=100,$newfile){

    $info = getimagesize($from);

    switch ($info[2]){
        case 1:
            $im = imagecreatefromgif($from);
            break;

        case 2:
            $im = imagecreatefromjpeg($from);
            break;

        case 3:
            $im = imagecreatefrompng($from);
            break;

        default:
            exit('不支持的图像格式');
            break;
    }

    $temp = pathinfo($from);
    $name = $temp["basename"];//文件名
    $dir = $temp["dirname"];//文件所在的文件夹
    $extension = $temp["extension"];//文件扩展名
    $width = $info[0];//获取图片宽度
    $height = $info[1];//获取图片高度
    $per1 = round($width/$height,2);//计算原图长宽比
    $per2 = round($w/$h,2);//计算缩略图长宽比

    //计算缩放比例
    if($per1>$per2||$per1==$per2) {
        //原图长宽比大于或者等于缩略图长宽比,则按照宽度优先
        $per=$w/$width;
    }

    if($per1<$per2) {
        //原图长宽比小于缩略图长宽比,则按照高度优先
        $per=$h/$height;
    }
    $temp_w = intval($width*$per);//计算原图缩放后的宽度
    $temp_h = intval($height*$per);//计算原图缩放后的高度
    $dst_im = imagecreatetruecolor($temp_w, $temp_h);

    //调整大小
    imagecopyresized($dst_im, $im, 0, 0, 0, 0, $temp_w, $temp_h, $width, $height);
    //输出缩小后的图像
    //exit($newfile);

    imagejpeg($dst_im,$dir.'/'.$newfile);
    imagedestroy($dst_im);
    imagedestroy($im);
}

/**
 * 获取图片不包含域名,如果未使用远程存储,将upload目录一并去掉
 */
function getAttachment($file) {
    if (empty($file)) {
        return;
    }

    $search = trim(option('config.site_url'), '/') . '/upload/';
    $attachment_upload_type = option('config.attachment_upload_type');
    if ($attachment_upload_type == '1') {
        $search = trim('http://' . option('config.attachment_up_domainname'), '/') . '/';
    }

    $file = trim(str_replace($search, '', $file), '/');
    return $file;
}


//im聊天相关
/**
 *   加密串
 */
function get_encrypt_key($array,$app_key){
    $new_arr = array();
    ksort($array);
    foreach($array as $key=>$value){
        $new_arr[] = $key.'='.$value;
    }
    $new_arr[] = 'app_key='.$app_key;

    $string = implode('&',$new_arr);
    return md5($string);
}

/**
 * CURL POST
 *
 * param url 抓取的URL
 * param data post的数组
 */
function curl_post($url,$data){
    $ch = curl_init();
    $headers[] = "Accept-Charset: utf-8";
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);

    //关闭curl
    curl_close($ch);
    
    return $result;
}
/**
 * 微信API CURL POST
 *
 * param url 抓取的URL
 * param data post的数组
 */
function api_curl_post($url,$data){
    $result = curl_post($url,$data);

    $result_arr = json_decode($result,true);
    return $result_arr;
}

/**
 * JSON返回
 *
 * param err_code 返回的错误编码
 * param err_msg  返回的错误信息
 * param err_dom  返回的DOM标识
 */
function error_json_return($err_code,$err_msg){
    $json_arr['err_code'] = $err_code;
    $json_arr['err_msg'] = $err_msg;
    exit(json_encode($json_arr));
}
function ok_json_return($json_arr){
    $json_arr['err_code'] = 0;
    exit(json_encode($json_arr));
}
function ok_jsonp_return($json_arr){
    $json_arr['err_code'] = 0;
    exit($_GET['callback'].'('.json_encode($json_arr).')');
}
//获取im聊天url
function getImUrl($userId,$storeId){
    $is_service     = D('Service')->where("status = 1 AND openid != '' AND store_id=$storeId")->find();
    
    if(!empty($is_service) && $_SESSION['wap_user']['app_id'] == 0){
        $key = get_encrypt_key(array('app_id'=>option('config.im_appid'),'openid'=>$userId),option('config.im_appkey'));
        $url = IM_SERVER_PATH.'?app_id='.option('config.im_appid').'&openid='.$userId.'&key='.$key.'#serviceList_'.$storeId;
    }else{
        $store = D('Store')->where("status = 1 AND store_id = '" . $storeId . "'")->find();
        $user_tmp = $_SESSION['wap_user'];
        
        /*if (empty($_SESSION['wap_user'])) {
            $user_tmp = D('User')->where("uid = '" . $store['uid'] . "'")->find();
        }*/
        
        if ($user_tmp['app_id'] == 1 && !empty($store['open_service']) && !empty($store['source_site_url']) && !empty($store['token'])) {
            $url = $store['source_site_url'] . '/index.php?g=Wap&m=Service&a=index&token=' . $store['token'] . '&wecha_id=';
        } else if ($user_tmp['app_id'] == 2 && !empty($store['open_service'])) {
            $url = $store['source_site_url'] . '/wap.php?c=Weidian&a=getImUrl&token='.$store['token'].'&wecha_id='.$_SESSION['wap_user']['third_id'];
        } else {
            $url     = '';
        }
    }
    
    return $url;
}

/**
 * 根据时间,返回状态
 * 当前时间在两个时间内:正在进行,当前时间大于开始时间:未开始,当前时间大于结束时间:已结束
 */
function getTimeType($start_time, $end_time) {
    if (empty($start_time) && empty($end_time)) {
        return '';
    }

    // 时间修正
    if ($start_time > $end_time) {
        $tmp = $end_time;
        $end_time = $start_time;
        $start_time = $tmp;
    }

    $time = time();
    if ($time >= $start_time && $time <= $end_time) {
        return '正在进行';
    } else if ($time < $start_time) {
        return '未开始';
    } else if ($time > $end_time) {
        return '已结束';
    }

    return '';
}

/**
 * 根据满减/送信息,返回格式化字条串
 */
function getRewardStr($reward) {
    global $config;

    $str = '' . $reward['money'];

    if ($reward['cash']) {
        $str .= ',减' . $reward['cash'] . '';
    }

    if ($reward['postage']) {
        $str .= ',免邮费';
    }

    if ($reward['score']) {
        $str .= ',送' . $reward['score'] . '积分';
    }

    if ($reward['coupon']) {
        $str .= ',送优惠券';

        $url = '';
        if (GROUP_NAME != 'wap') {
            $url = url('coupon:index', array('id' => $reward['coupon']['id']));
        } else {
            $url = $config['wap_site_url'] . '/coupon_detail.php?id=' . $reward['coupon']['id'];
        }
        $str .= '<a href="' . $url . '" target="_blank">' . $reward['coupon']['name'] . '</a>';
    }

    if ($reward['present']) {
        $str .= ',赠送产品:';
        foreach ($reward['present'] as $product) {
            $url = '';
            if (GROUP_NAME != 'wap') {
                $url = url_rewrite('goods:index', array('id' => $product['product_id']));
            } else {
                $url = $config['wap_site_url'] . '/good.php?id=' .  $product['product_id'];
            }
            $str .= '<a href="' . $url . '" target="_blank">' . $product['name'] . '</a> ';
        }
    }

    return $str;
}



//对象转换为数组
function object_array($array) {
    if(is_object($array)) {
        $array = (array)$array;
    } if(is_array($array)) {
        foreach($array as $key=>$value) {
            $array[$key] = object_array($value);
        }
    }
    return $array;
}


//获取用户当前登录位置
function show_distance(){

    if($_COOKIE['Web_user']) {
        $array = object_array(json_decode($_COOKIE['Web_user']));
        $array['status'] = true;
    } else {
        $array = array('status'=>false);
    }
    return $array;
}

// 隐藏评论人信息
function anonymous($str, $len1 = 2, $len2 = 1) {
    if (mb_strlen($str, 'utf-8') < 4) {
        $return_str = mb_substr($str, 0, 1, 'utf-8');
        $return_str .= '**';
    } else {
        $return_str = mb_substr($str, 0, $len1, 'utf-8');
        $return_str .= '**';
        $return_str .= mb_substr($str, -1 * $len2, $len2, 'utf-8');
    }
    return $return_str;
}


/**
 * @desc 获取querystring
 * @param $url
 * @return array|string
 */
function convertUrlQuery($url) {
    $arr = parse_url($url);
    $query = $arr['query'];
    if (!empty($query)) {
        $queryParts = explode('&', $query);

        $params = array();
        foreach ($queryParts as $param) {
            $item = explode('=', $param);
            $params[$item[0]] = $item[1];
        }
    } else {
        $params = '';
    }
    return $params;
}




/**
 *计算某个经纬度的周围某段距离的正方形的四个点
 *
 *@param lng float 经度
 *@param lat float 纬度
 *@param distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米
 *@return array 正方形的四个点的经纬度坐标
*/
function returnSquarePoint($lng, $lat,$distance = 0.5){
    define(EARTH_RADIUS, 6371);//地球半径,平均半径为6371km
    $dlng =  2 * asin(sin($distance / (2 * EARTH_RADIUS)) / cos(deg2rad($lat)));
    $dlng = rad2deg($dlng);

    $dlat = $distance/EARTH_RADIUS;
    $dlat = rad2deg($dlat);

    return array(
            'left-top'=>array('lat'=>$lat + $dlat,'lng'=>$lng-$dlng),
            'right-top'=>array('lat'=>$lat + $dlat, 'lng'=>$lng + $dlng),
            'left-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng - $dlng),
            'right-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng + $dlng)
    );
}

    function arr2_arr1($arrdata,$v)
    {
        $arrs = array();
        foreach ($arrdata as $key => $value) {
            $arrs[] = $value[$v];
        }
        return $arrs;
    }

    function dangqiangIp()
    {

        $ip = "Unknown";

        if (isset($_SERVER["HTTP_X_REAL_IP"]) && !empty($_SERVER["HTTP_X_REAL_IP"])) {
            $ip = $_SERVER["HTTP_X_REAL_IP"];
        }
        elseif (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) && !empty($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) {
            $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
        }
        elseif (isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]) && !empty($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) {
            $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
        }
        elseif (isset($HTTP_SERVER_VARS["REMOTE_ADDR"]) && !empty($HTTP_SERVER_VARS["REMOTE_ADDR"])) {
            $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
        }
        elseif (getenv("HTTP_X_FORWARDED_FOR")) {
            $ip = getenv("HTTP_X_FORWARDED_FOR");
        }
        elseif (getenv("HTTP_CLIENT_IP")) {
            $ip = getenv("HTTP_CLIENT_IP");
        }
        elseif (getenv("REMOTE_ADDR")) {
            $ip = getenv("REMOTE_ADDR");
        }
        return $ip;
    }
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script type="text/javascript">
    
    $.ajax({
                        type:'get',
                        url:'/merchants.php?m=User&c=index&a=delmen&id='+ids,
                        dataType:"JSON",
                        success:function(ret){
                            //alert(ret.error);
                                if(ret.error== 2){
                                         swal({
                                              title: "公众号菜单!",
                                              text: ret.msg,
                                              type: "success"
                                             }, function () {
                                            window.location.reload();
                                            });
                                      
                                }else{
                                    swal({
                                              title: "公众号菜单!",
                                              text: ret.msg,
                                              type: "error"
                                             }, function () {
                                            window.location.reload();
                                            });
                                }
                        }
                    });
//========================
    $.get('?m=User&c=cashier&a=restore',{orderid:c.attr('data-id')},function(re){
                            if(re.status == 0){
                                swal("错误", "还原失败 :)", "error");
                            }else{
                                swal("成功", "还原成功 :)", "success");
                                c.parents('tr').remove();
                                b('.footable').footable();
                            }
                        },'json');
                    });

 //=================================
</script>

<script>
    $(function(){
      $('#submit').click(function() {
          var postData={
            geetest_challenge: $('.geetest_challenge').val(),
            geetest_validate: $('.geetest_validate').val(),
            geetest_seccode: $('.geetest_seccode').val()
        }            
        postData.username = $("input[name='username']").val();
        postData.password = $("input[name='password']").val();
        postData.type = $("input[name='type']:checked").val();

      console.log(postData);//success
      $.post('merchants.php?m=Index&c=index&a=signin_test', postData, function(ret){
          console.log(ret.msg);
            if (ret.error == 0){
               window.location.href=ret.msg;
                //window.location.href="/merchants.php?m=User&c=souye&a=souye"; 
               //swal("成功", ret.msg, "success");
             }else if(ret.error == 1){               
               swal("失败", ret.msg, "error");               
           }else{
               window.location.href=ret.msg;
           }
        },'json');
      
      });
    });
  </script>
原文地址:https://www.cnblogs.com/lujiang/p/7281071.html