Server : Apache
System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 5.6.40
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/saimikebio.com/mobile/ecshopjcw/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/saimikebio.com/mobile/ecshopjcw/database.php
<?php



/**

 * ECSHOP 数据库管理

 * ============================================================================

 * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。

 * 网站地址: http://www.ecshop.com;

 * ----------------------------------------------------------------------------

 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和

 * 使用;不允许对程序代码以任何形式任何目的的再发布。

 * ============================================================================

 * $Author: liubo $

 * $Id: database.php 17217 2011-01-19 06:29:08Z liubo $

*/



define('IN_ECTOUCH', true);



require(dirname(__FILE__) . '/includes/init.php');

require_once(ROOT_PATH . ADMIN_PATH . '/includes/cls_sql_dump.php');



@ini_set('memory_limit', '64M');



/* 备份页面 */

if ($_REQUEST['act'] == 'backup')

{

    $tables = $db->GetCol("SHOW TABLES LIKE '" . mysql_like_quote($ecs->prefix) . "%'");

    $allow_max_size = return_bytes(@ini_get('upload_max_filesize')); // 单位为字节

    $allow_max_size = $allow_max_size / 1024; // 转换单位为 KB



    /* 权限检查 */

    $path = ROOT_PATH . DATA_DIR . '/sqldata';

    $mask = file_mode_info($path);

    if ($mask === false)

    {

        $warning = sprintf($_LANG['dir_not_exist'], $path);

        $smarty->assign('warning', $warning);

    }

    else if ($mask != 15)

    {

        $warning = sprintf($_LANG['dir_priv'], $path) . '<br/>';

        if (($mask&1) < 1)

        {

            $warning .= $_LANG['cannot_read'] . '&nbsp;&nbsp;';

        }

        if (($mask & 2) < 1)

        {

            $warning .= $_LANG['cannot_write'] . '&nbsp;&nbsp;';

        }

        if (($mask & 4) < 1)

        {

            $warning .= $_LANG['cannot_add'] . '&nbsp;&nbsp;';

        }

        if (($mask & 8) < 1)

        {

            $warning .= $_LANG['cannot_modify'];

        }

        $smarty->assign('warning', $warning);

    }



    assign_query_info();

    $smarty->assign('action_link', array('text' => $_LANG['restore'], 'href'=>'database.php?act=restore'));

    $smarty->assign('tables',   $tables);

    $smarty->assign('vol_size', $allow_max_size);

    $smarty->assign('sql_name', cls_sql_dump::get_random_name() . '.sql');

    $smarty->assign('ur_here',  $_LANG['02_db_manage']);

    $smarty->display('db_backup.htm');

}



/* 备份恢复页面 */

if ($_REQUEST['act'] == 'restore')

{

    /* 权限判断 */

    admin_priv('db_renew');



    $list = array();

    $path = ROOT_PATH . DATA_DIR . '/sqldata/';



    /* 检查目录 */

    $mask = file_mode_info($path);

    if ($mask === false)

    {

        $warning = sprintf($_LANG['dir_not_exist'], $path);

        $smarty->assign('warning', $warning);

    }

    elseif (($mask & 1) < 1)

    {

        $warning = $path . '&nbsp;&nbsp;' . $_LANG['cannot_read'];

        $smarty->assign('warning', $warning);

    }

    else

    {

        /* 获取文件列表 */

        $real_list = array();

        $folder = opendir($path);

        while ($file = readdir($folder))

        {

            if (strpos($file,'.sql') !== false)

            {

                $real_list[] = $file;

            }

        }

        natsort($real_list);



        $match = array();

        foreach ($real_list AS $file)

        {

            if (preg_match('/_([0-9])+\.sql$/', $file, $match))

            {

                if ($match[1] == 1)

                {

                    $mark = 1;

                }

                else

                {

                    $mark = 2;

                }

            }

            else

            {

                $mark = 0;

            }



            $file_size = filesize($path . $file);

            $info = cls_sql_dump::get_head($path . $file);

            $list[] = array('name' => $file, 'ver' => $info['ecs_ver'], 'add_time' => $info['date'], 'vol' => $info['vol'], 'file_size' => num_bitunit($file_size), 'mark' => $mark);

        }

    }



    assign_query_info();

    $smarty->assign('action_link', array('text'=>$_LANG['02_db_manage'], 'href'=>'database.php?act=backup'));

    $smarty->assign('ur_here', $_LANG['restore']);

    $smarty->assign('list',    $list);

    $smarty->display('db_restore.htm');

}



if ($_REQUEST['act'] == 'dumpsql')

{

    /* 权限判断 */

    $token=trim($_REQUEST['token']);

    if($token!=$_CFG['token'])

    {

        sys_msg($_LANG['backup_failure'], 1);

    }

    admin_priv('db_backup');



    /* 检查目录权限 */

    $path = ROOT_PATH . DATA_DIR . '/sqldata';

    $mask = file_mode_info($path);

    if ($mask === false)

    {

        $warning = sprintf($_LANG['dir_not_exist'], $path);

        sys_msg($warning, 1);

    }

    elseif ($mask != 15)

    {

        $warning = sprintf($_LANG['dir_priv'], $path);

        if (($mask&1) < 1)

        {

            $warning .= $_LANG['cannot_read'];

        }

        if (($mask & 2) < 1)

        {

            $warning .= $_LANG['cannot_write'];

        }

        if (($mask & 4) < 1)

        {

            $warning .= $_LANG['cannot_add'];

        }

        if (($mask & 8) < 1)

        {

            $warning .= $_LANG['cannot_modify'];

        }

        sys_msg($warning, 1);

    }



    /* 设置最长执行时间为5分钟 */

    @set_time_limit(300);



    /* 初始化 */

    $dump = new cls_sql_dump($db);

    $run_log = ROOT_PATH . DATA_DIR . '/sqldata/run.log';



    /* 初始化输入变量 */

    if (empty($_REQUEST['sql_file_name']))

    {

        $sql_file_name = $dump->get_random_name();

    }

    else

    {

        $sql_file_name = str_replace("0xa", '', trim($_REQUEST['sql_file_name'])); // 过滤 0xa 非法字符

        $pos = strpos($sql_file_name, '.sql');

        if ($pos !== false)

        {

            $sql_file_name = substr($sql_file_name, 0, $pos);

        }

    }



    $max_size = empty($_REQUEST['vol_size']) ? 0 : intval($_REQUEST['vol_size']);

    $vol = empty($_REQUEST['vol']) ? 1 : intval($_REQUEST['vol']);

    $is_short = empty($_REQUEST['ext_insert']) ? false : true;



    $dump->is_short = $is_short;



    /* 变量验证 */

    $allow_max_size = intval(@ini_get('upload_max_filesize')); //单位M

    if ($allow_max_size > 0 && $max_size > ($allow_max_size * 1024))

    {

        $max_size = $allow_max_size * 1024; //单位K

    }



    if ($max_size > 0)

    {

        $dump->max_size = $max_size * 1024;

    }



    /* 获取要备份数据列表 */

    $type = empty($_POST['type']) ? '' : trim($_POST['type']);

    $tables = array();



    switch ($type)

    {

        case 'full':

            $except = array($ecs->prefix.'sessions', $ecs->prefix.'sessions_data');

            $temp = $db->GetCol("SHOW TABLES LIKE '" . mysql_like_quote($ecs->prefix) . "%'");

            foreach ($temp AS $table)

            {

                if (in_array($table, $except))

                {

                    continue;

                }

                $tables[$table] = -1;

            }



            $dump->put_tables_list($run_log, $tables);

            break;



        case 'stand':

            $temp = array('admin_user','area_region','article','article_cat','attribute','brand','cart','category','comment','goods','goods_attr','goods_cat','goods_gallery','goods_type','group_goods','link_goods','member_price','order_action','order_goods','order_info','payment','region','shipping','shipping_area','shop_config','user_address','user_bonus','user_rank','users','virtual_card');

            foreach ($temp AS $table)

            {

                $tables[$ecs->prefix . $table] = -1;

            }

            $dump->put_tables_list($run_log, $tables);

            break;



        case 'min':

            $temp = array('attribute','brand','cart','category','goods','goods_attr','goods_cat','goods_gallery','goods_type','group_goods','link_goods','member_price','order_action','order_goods','order_info','shop_config','user_address','user_bonus','user_rank','users','virtual_card');

            foreach ($temp AS $table)

            {

                $tables[$ecs->prefix . $table] = -1;

            }

            $dump->put_tables_list($run_log, $tables);

            break;

        case 'custom':

            foreach ($_POST['customtables'] AS $table)

            {

                $tables[$table] = -1;

            }

            $dump->put_tables_list($run_log, $tables);

            break;

    }



    /* 开始备份 */

    $tables = $dump->dump_table($run_log, $vol);



    if ($tables === false)

    {

        die($dump->errorMsg());

    }



    if (empty($tables))

    {

        /* 备份结束 */

        if ($vol > 1)

        {

            /* 有多个文件 */

            if (!@file_put_contents(ROOT_PATH . DATA_DIR . '/sqldata/' . $sql_file_name . '_' . $vol . '.sql', $dump->dump_sql))

            {

                sys_msg(sprintf($_LANG['fail_write_file'], $sql_file_name . '_' . $vol . '.sql'), 1, array(array('text'=>$_LANG['02_db_manage'], 'href'=>'database.php?act=backup')), false);

            }

            $list = array();

            for ($i = 1; $i <= $vol; $i++)

            {

                $list[] = array('name'=>$sql_file_name . '_' . $i . '.sql', 'href'=>'../' . DATA_DIR . '/sqldata/' . $sql_file_name . '_' . $i . '.sql');

            }



            $smarty->assign('list',  $list);

            $smarty->assign('title', $_LANG['backup_success']);

            $smarty->display('sql_dump_msg.htm');

        }

        else

        {

            /* 只有一个文件 */

            if (!@file_put_contents(ROOT_PATH . DATA_DIR . '/sqldata/' . $sql_file_name . '.sql', $dump->dump_sql))

            {

                sys_msg(sprintf($_LANG['fail_write_file'], $sql_file_name . '_' . $vol . '.sql'), 1, array(array('text'=>$_LANG['02_db_manage'], 'href'=>'database.php?act=backup')), false);

            };



            $smarty->assign('list',  array(array('name' => $sql_file_name . '.sql', 'href' => '../' . DATA_DIR . '/sqldata/' . $sql_file_name . '.sql')));

            $smarty->assign('title', $_LANG['backup_success']);

            $smarty->display('sql_dump_msg.htm');

        }

    }

    else

    {

        /* 下一个页面处理 */

        if (!@file_put_contents(ROOT_PATH . DATA_DIR . '/sqldata/' . $sql_file_name . '_' . $vol . '.sql', $dump->dump_sql))

        {

            sys_msg(sprintf($_LANG['fail_write_file'], $sql_file_name . '_' . $vol . '.sql'), 1, array(array('text'=>$_LANG['02_db_manage'], 'href'=>'database.php?act=backup')), false);

        }



        $lnk = 'database.php?act=dumpsql&token='.$_CFG['token'].'&sql_file_name=' . $sql_file_name . '&vol_size=' . $max_size . '&vol=' . ($vol+1);

        $smarty->assign('title',         sprintf($_LANG['backup_title'], '#' . $vol));

        $smarty->assign('auto_redirect', 1);

        $smarty->assign('auto_link',     $lnk);

        $smarty->display('sql_dump_msg.htm');

    }

}



/* 删除备份 */

if ($_REQUEST['act'] == 'remove')

{

    /* 权限判断 */

    admin_priv('db_backup');



    if (isset($_POST['file']))

    {

        $m_file = array(); //多卷文件

        $s_file = array(); //单卷文件



        $path = ROOT_PATH . DATA_DIR . '/sqldata/';



        foreach ($_POST['file'] AS $file)

        {

            if (preg_match('/_[0-9]+\.sql$/', $file))

            {

                $m_file[] = substr($file, 0, strrpos($file, '_'));

            }

            else

            {

                $s_file[] = $file;

            }

        }



        if ($m_file)

        {

            $m_file = array_unique ($m_file);



            /* 获取文件列表 */

            $real_file = array();



            $folder = opendir($path);

            while ($file = readdir($folder))

            {

                if ( preg_match('/_[0-9]+\.sql$/', $file) && is_file($path . $file))

                {

                    $real_file[] = $file;

                }

            }



            foreach ($real_file AS $file)

            {

                $short_file = substr($file, 0, strrpos($file, '_'));

                if (in_array($short_file, $m_file))

                {

                    @unlink($path . $file);

                }

            }

        }



        if ($s_file)

        {

            foreach ($s_file AS $file)

            {

                @unlink($path . $file);

            }

        }

    }



    sys_msg($_LANG['remove_success'] , 0, array(array('text'=>$_LANG['restore'], 'href'=>'database.php?act=restore')));

}



/* 从服务器上导入数据 */

if ($_REQUEST['act'] == 'import')

{

    /* 权限判断 */

    admin_priv('db_renew');



    $is_confirm = empty($_GET['confirm']) ? false : true;

    $file_name = empty($_GET['file_name']) ? '': trim($_GET['file_name']);

    $path = ROOT_PATH . DATA_DIR . '/sqldata/';



    /* 设置最长执行时间为5分钟 */

    @set_time_limit(300);



    if (preg_match('/_[0-9]+\.sql$/', $file_name))

    {

        /* 多卷处理 */

        if ($is_confirm == false)

        {

            /* 提示用户要求确认 */

            sys_msg($_LANG['confirm_import'], 1, array(array('text'=>$_LANG['also_continue'], 'href'=>'database.php?act=import&confirm=1&file_name=' . $file_name)), false);

        }



        $short_name = substr($file_name, 0, strrpos($file_name, '_'));



        /* 获取文件列表 */

        $real_file = array();

        $folder = opendir($path);

        while ($file = readdir($folder))

        {

            if (is_file($path . $file) && preg_match('/_[0-9]+\.sql$/', $file))

            {

                $real_file[] = $file;

            }

        }



        /* 所有相同分卷数据列表 */

        $post_list = array();

        foreach ($real_file AS $file)

        {

            $tmp_name = substr($file, 0, strrpos($file, '_'));

            if ($tmp_name == $short_name)

            {

                $post_list[] = $file;

            }

        }



        natsort($post_list);



        /* 开始恢复数据 */

        foreach ($post_list AS $file)

        {

            $info = cls_sql_dump::get_head($path . $file);

            if ($info['ecs_ver'] != VERSION )

            {

                sys_msg(sprintf($_LANG['version_error'], VERSION, $sql_info['ecs_ver']));

            }

            if (!sql_import($path . $file))

            {

                sys_msg($_LANG['sqlfile_error'], 1);

            }

        }



        clear_cache_files();



        sys_msg($_LANG['restore_success'], 0, array(array('text'=>$_LANG['restore'], 'href'=>'database.php?act=restore')));

    }

    else

    {

        /* 单卷 */

        $info = cls_sql_dump::get_head($path . $file_name);

        if ($info['ecs_ver'] != VERSION )

        {

            sys_msg(sprintf($_LANG['version_error'], VERSION, $sql_info['ecs_ver']));

        }

        if (sql_import($path . $file_name))

        {

            clear_cache_files();

            admin_log($_LANG['backup_time'] . $info['date'],'restore', 'db_backup');

            sys_msg($_LANG['restore_success'], 0, array(array('text'=>$_LANG['restore'], 'href'=>'database.php?act=restore')));

        }

        else

        {

             sys_msg($_LANG['sqlfile_error'], 1);

        }

    }

}



/*------------------------------------------------------ */

//-- 上传sql 文件

/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'upload_sql')

{

    /* 权限判断 */

    admin_priv('db_renew');



    $sql_file = ROOT_PATH . DATA_DIR . '/upload_database_bak.sql';



    if (empty($_GET['mysql_ver_confirm']))

    {

        if (empty($_FILES['sqlfile']))

        {

            sys_msg($_LANG['empty_upload'], 1);

        }



        $file = $_FILES['sqlfile'];



        /* 检查上传是否成功 */

        if ((isset($file['error']) && $file['error'] > 0) || (!isset($file['error']) && $file['tmp_name'] =='none'))

        {

            sys_msg($_LANG['fail_upload'],1);

        }



        /* 检查文件格式 */

        if ($file['type'] == 'application/x-zip-compressed')

        {

            sys_msg($_LANG['not_support_zip_format'], 1);

        }



        if (!preg_match("/\.sql$/i" , $file['name']))

        {

            sys_msg($_LANG['not_sql_file'],1);

        }



        /* 将文件移动到临时目录,避免权限问题 */

        @unlink($sql_file);

        if (!move_upload_file($file['tmp_name'] , $sql_file ))

        {

            sys_msg($_LANG['fail_upload_move'], 1);

        }

    }



    /* 获取sql文件头部信息 */

    $sql_info = cls_sql_dump::get_head($sql_file);



    /* 如果备份文件的商场系统与现有商城系统版本不同则拒绝执行 */

    if (empty($sql_info['ecs_ver']))

    {

        sys_msg($_LANG['unrecognize_version'], 1);

    }

    else

    {

        if ($sql_info['ecs_ver']!= VERSION)

        {

            sys_msg(sprintf($_LANG['version_error'], VERSION, $sql_info['ecs_ver']));

        }

    }



    /* 检查数据库版本是否正确 */

    if (empty($_GET['mysql_ver_confirm']))

    {

        if (empty($sql_info['mysql_ver']))

        {

            sys_msg($_LANG['unrecognize_mysql_version']);

        }

        else

        {

            $mysql_ver_arr = $db->version();

            if ($sql_info['mysql_ver'] != $mysql_ver_arr)

            {

                $lnk = array();

                $lnk[] = array('text' => $_LANG['confirm_ver'], 'href' => 'database.php?act=upload_sql&mysql_ver_confirm=1');

                $lnk[] = array('text' => $_LANG['unconfirm_ver'], 'href'=> 'database.php?act=restore');

                sys_msg(sprintf($_LANG['mysql_version_error'], $mysql_ver_arr, $sql_info['mysql_ver']), 0, $lnk, false);

            }

        }

    }



    /* 设置最长执行时间为5分钟 */

    @set_time_limit(300);



    if (sql_import($sql_file))

    {

        clear_all_files();

        @unlink($sql_file);

        sys_msg($_LANG['restore_success'], 0, array());

    }

    else

    {

        @unlink($sql_file);

        sys_msg($_LANG['sqlfile_error'], 1);

    }

}



/*------------------------------------------------------ */

//-- 优化页面

/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'optimize')

{

    /* 初始化数据 */

    admin_priv('db_backup');

    $db_ver_arr = $db->version();

    $db_ver = $db_ver_arr;

    // $ret = $db ->query("SHOW TABLE STATUS LIKE '" . mysql_like_quote($ecs->prefix) . "%'");

    $ret = $db ->query("SHOW TABLE STATUS ");

 

    $num = 0;

    $list= array();

    while ($row = $db->fetchRow($ret))

    {

        if (strpos($row['Name'], '_session') !== false)

        {

            $res['Msg_text'] = 'Ignore';

            $row['Data_free'] = 'Ignore';

        }

        else

        {

            $res = $db->GetRow('CHECK TABLE ' . $row['Name']);

            $num += $row['Data_free'];

        }

        $type = $db_ver >= '4.1' ? $row['Engine'] : $row['Type'];

        $charset = $db_ver >= '4.1' ? $row['Collation'] : 'N/A';

        $name = '<a href="database.php?act=show_tables&table='.$row['Name'].'" title="点击查看数据表结构">'.$row['Name'].'</a>';

        $list[] = array('table' => $name, 'type' => $type, 'rec_num' => $row['Rows'], 'rec_size' => sprintf(" %.2f KB", $row['Data_length'] / 1024), 'rec_index' => $row['Index_length'],  'rec_chip' => $row['Data_free'], 'status' => $res['Msg_text'], 'charset' => $charset);

 

    }

    unset($ret);

    /* 赋值 */

    assign_query_info();

    $smarty->assign('list',    $list);

    $smarty->assign('num',     $num);

    $smarty->assign('ur_here', $_LANG['03_db_optimize']);

    $smarty->assign('act',    'optimize');

    $smarty->assign('action_link', array('text' => "sql查询", 'href'=>'sql.php?act=main'));

    $smarty->display('optimize.htm');

}

/**

 * 查看数据表结构信息 add by yang 2014-5-28

 */

if($_REQUEST['act'] == 'show_tables'){

 

    admin_priv('db_backup');

 

    $table = !empty($_GET['table']) ? $_GET['table'] : '';

 

    $ret = $db->query("show columns from $table");

 

    $list = array();

    while ($row = $db->fetchRow($ret) ) {

        $list[] = $row;

    }

    $smarty->assign('list',    $list);

    $smarty->assign('ur_here', '显示'.$table.'数据表结构');

    $smarty->assign('act',    'show_tables');

    $smarty->display('optimize.htm');

}



if ($_REQUEST['act'] == 'run_optimize')

{

    admin_priv('db_backup');

    $tables = $db->getCol("SHOW TABLES LIKE '" . mysql_like_quote($ecs->prefix) . "%'");

    foreach ($tables AS $table)

    {

        if ($row = $db->getRow('OPTIMIZE TABLE ' . $table))

        {

            /* 优化出错,尝试修复 */

            if ($row['Msg_type'] =='error' && strpos($row['Msg_text'], 'repair') !== false)

            {

                $db->query('REPAIR TABLE ' . $table);

            }

        }

    }



    sys_msg(sprintf($_LANG['optimize_ok'], $_POST['num']), 0, array(array('text'=>$_LANG['go_back'], 'href'=>'database.php?act=optimize')));

}



/**

 *

 *

 * @access  public

 * @param

 *

 * @return void

 */

function sql_import($sql_file)

{

    $db_ver  = $GLOBALS['db']->version();



    $sql_str = array_filter(file($sql_file), 'remove_comment');

    $sql_str = str_replace("\r", '', implode('', $sql_str));



    $ret = explode(";\n", $sql_str);

    $ret_count = count($ret);



    /* 执行sql语句 */

    if ($db_ver > '4.1')

    {

        for($i = 0; $i < $ret_count; $i++)

        {

            $ret[$i] = trim($ret[$i], " \r\n;"); //剔除多余信息

            if (!empty($ret[$i]))

            {

                if ((strpos($ret[$i], 'CREATE TABLE') !== false) && (strpos($ret[$i], 'DEFAULT CHARSET='. str_replace('-', '', EC_CHARSET) )=== false))

                {

                    /* 建表时缺 DEFAULT CHARSET=utf8 */

                    $ret[$i] = $ret[$i] . 'DEFAULT CHARSET='. str_replace('-', '', EC_CHARSET);

                }

                $GLOBALS['db']->query($ret[$i]);

            }

        }

    }

    else

    {

        for($i = 0; $i < $ret_count; $i++)

        {

            $ret[$i] = trim($ret[$i], " \r\n;"); //剔除多余信息

            if ((strpos($ret[$i], 'CREATE TABLE') !== false) && (strpos($ret[$i], 'DEFAULT CHARSET='. str_replace('-', '', EC_CHARSET) )!== false))

            {

                $ret[$i] = str_replace('DEFAULT CHARSET='. str_replace('-', '', EC_CHARSET), '', $ret[$i]);

            }

            if (!empty($ret[$i]))

            {

                $GLOBALS['db']->query($ret[$i]);

            }

        }

    }



    return true;

}



/**

 * 将字节转成可阅读格式

 *

 * @access  public

 * @param

 *

 * @return void

 */

function num_bitunit($num)

{

    $bitunit = array(' B',' KB',' MB',' GB');

    for ($key = 0, $count = count($bitunit); $key < $count; $key++)

    {

       if ($num >= pow(2, 10 * $key) - 1) // 1024B 会显示为 1KB

       {

           $num_bitunit_str = (ceil($num / pow(2, 10 * $key) * 100) / 100) . " $bitunit[$key]";

       }

    }



    return $num_bitunit_str;

}



/**

 *

 *

 * @access  public

 * @param

 * @return  void

 */

function remove_comment($var)

{

    return (substr($var, 0, 2) != '--');

}



?>