PHP循环内的Javascript文件转换

时间:2016-07-21 09:46:31

标签: javascript php

我们有一个文件上传输入字段,用户上传一个zip文件。它添加到您的数据库中,文件大小以字节为单位输出。

现在我需要的是我需要动态地将其转换为mb,gb,tb ...这样文件就是人类可读的格式。

我们在线获得了一个Javascript代码进行转换。如果我们结合我们的php和javascript它只循环一次。

你能帮助我们吗?谢谢!

PHP

<?php
$sql="SELECT * from version";
$records=mysql_query($sql);
while($emp=mysql_fetch_array($records)){
    echo $emp['zipfile']."<br />";
    $file = filesize($emp['zipfile']);
    ?>

的JavaScript

var x = <?php echo $file; ?>;
document.getElementById("foo").innerHTML = x
function formatSizeUnits(bytes){
if      (bytes>=1073741824) {bytes=(bytes/1073741824).toFixed(2)+' GB';}
else if (bytes>=1048576)    {bytes=(bytes/1048576).toFixed(2)+' MB';}
else if (bytes>=1024)       {bytes=(bytes/1024).toFixed(2)+' KB';}
else if (bytes>1)           {bytes=bytes+' bytes';}
else if (bytes==1)          {bytes=bytes+' byte';}
else                        {bytes='0 byte';}
return bytes;
}

PHP循环关闭

<?php
    }
?>

1 个答案:

答案 0 :(得分:1)

您实际上可以使用PHP本身将文件大小转换为可读格式。这个功能是

function formatSizeUnits($bytes)
{
    if ($bytes >= 1073741824)
    {
        $bytes = number_format($bytes / 1073741824, 2) . ' GB';
    }
    elseif ($bytes >= 1048576)
    {
        $bytes = number_format($bytes / 1048576, 2) . ' MB';
    }
    elseif ($bytes >= 1024)
    {
        $bytes = number_format($bytes / 1024, 2) . ' kB';
    }
    elseif ($bytes > 1)
    {
        $bytes = $bytes . ' bytes';
    }
    elseif ($bytes == 1)
    {
        $bytes = $bytes . ' byte';
    }
    else
    {
        $bytes = '0 bytes';
    }

    return $bytes;
}