2016-07-21 3 views
1

우리는 사용자가 zip 파일을 업로드하는 파일 업로드 입력 필드를 가지고 있습니다. 그것은 데이터베이스에 추가되고 파일 크기는 바이트 단위로 출력됩니다.PHP 루프 내에서의 자바 스크립트 파일 변환

이제 내가 필요로하는 것은 mb, gb, tb ...로 동적으로 변환해야합니다. 파일을 사람이 읽을 수있는 형식으로 만듭니다.

변환을 수행하는 자바 스크립트 코드가 온라인에 있습니다. PHP와 자바 스크립트를 결합하면 한 번만 반복됩니다.

도와 주실 수 있습니까? 감사!

PHP

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

자바 스크립트

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

당신은 Conver 유럽 실제로 할 수 닫습니다 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

도와 드리겠습니다. 올바른 것으로 대답하면 답변을 표시하십시오. –