A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 源码技巧 > Ecshop > ecshop站点目录和数据库大小补丁

ecshop站点目录和数据库大小补丁

时间:2015-04-20 09:25作者:zhao人气:32

PHP目前不提供获取目录总大小的标准函数,尽管这比获得磁盘总空间更为常见,虽然可以使用exec()或system()做系统级调用du,du命令将 获得一个文件或目录的磁盘使用情况,但出于安全原因,这些函数通常是禁用的。要获得站点目录大小,使用递归适合此项任务。本补丁可在ECSHOP后台查看 站点目录和数据库大小。

 

 一、/admin/index.php

$sys_info['socket'] = function_exists('fsockopen') ? $_LANG['yes'] : $_LANG['no'];

下面添加

/* 单位自动转换函数 */

function getRealSize($size)

{

$kb = 1024; // Kilobyte

$mb = 1024 * $kb; // Megabyte

$gb = 1024 * $mb; // Gigabyte

$tb = 1024 * $gb; // Terabyte

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 getDirSize($dir)

{

$sizeResult = 0;

$handle = opendir($dir);

while (false !== ($FolderOrFile = readdir($handle)))

{

if($FolderOrFile != '.'&& $FolderOrFile != '..')

{

if(is_dir("$dir/$FolderOrFile"))

{

$sizeResult += getDirSize("$dir/$FolderOrFile");

}

else

{

$sizeResult += filesize("$dir/$FolderOrFile");

}

}

}

closedir($handle);

return $sizeResult;

}

$curStr = dirname(__FILE__);

$subStr = strrchr($curStr, '');

$siteDir = substr($curStr, 0, strlen($curStr)-strlen($subStr));

$disk_size = getRealSize(getDirSize($siteDir));

/* 数据库大小 */

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

$row = array();

$mysql_size = 0;

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

{

$mysql_size += $row['Data_length'];

}

$mysql_size = getRealSize($mysql_size);

unset($ret);

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

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

二、/admin/templates/start.htm

<tr>

<td>{$lang.php_version}</td>

<td>{$sys_info.php_ver}</td>

<td>{$lang.mysql_version}</td>

<td>{$sys_info.mysql_ver}</td>

</tr>

下面添加
{$lang.disk_size} {$disk_size} {$lang.mysql_size} {$mysql_size}

三、/languages/zh_cn/admin/index.php中添加

$_LANG['disk_size'] = '站点目录大小:';

$_LANG['mysql_size'] = '数据库大小:';

标签ecshop,站点,目录,数据库,大小,补丁,PHP,目前

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号