2016-07-21 13 views
1

私たちはzipファイルをアップロードするファイルアップロード入力フィールドを持っています。これはデータベースに追加され、ファイルサイズはバイト単位で出力されます。PHPループ内でのJavascriptファイル変換

私はこれをmb、gb、tb ...に動的に変換する必要があります。そのファイルは人間が読める形式です。

変換を行うJavascriptコードをオンラインで取得しました。私たちのphpとjavascriptを組み合わせた場合、ループは1回だけです。

お手伝いできますか?ありがとう!

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ループはあなたが実際にCONVERでき

<?php 
    } 
?> 

答えて

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; 
} 
+0

ありがとうございました。 – Beekeeper

+0

ありがとう、それは動作します。遅れて申し訳ありませんが、私たちは別のことに巻き込まれました。 – Beekeeper

+0

お寄せいただきありがとうございます。あなたがそれが正しいと思ったら答えをマークしてください –

関連する問題