2012-04-29 31 views
-1

PHPを使用してファイル名の横にファイルサイズを追加するにはどうすればいいですか?私はおそらく同じコードを使用しますが、ファイルサイズの情報を収集するために、ファイルサイズPHPファイル名とファイルサイズ出力

のセクションを追加したいと思いhttp://downunderpctech.com/output.png

:このように出力

<?php 
# Configuration 
$show_path = 0; # Show local path. 
$show_dotdirs = 1; # Show '.' and '..'. 

$path = substr($_SERVER['SCRIPT_FILENAME'], 0, 
    strrpos($_SERVER['SCRIPT_FILENAME'], '/') + 1); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<link rel="stylesheet" type="text/css" href="style.css"/> 
</head> 

<body> 
<div id="menu"> 
    <div id="menualign"><a href="index.php"><img src="images/home.png" onmouseover="src='images/homed.png'" onmouseout="src='images/home.png'"/></a><img src="images/moviesa.png"/><a href="tvguide.php"><img src="images/tv.png" onmouseover="src='images/tvd.png'" onmouseout="src='images/tv.png'"/></a></div> 
</div> 
<div id="container"> 
    <div id="fleft"> 
    <table cellspacing="1"> 
     <tr> 
     <th><?php if ($show_path == 1) { echo $path; } else { echo 'Current Movies'; } ?></th> 
     </tr> 
     <tr> 
     <td align="left"><?php 
$dirs = array(); 
$files = array(); 

$dir = dir('../Movies/'); 
while ($entry = $dir->read()) { 
    if (($entry != '.') and (substr($entry, -4) != '.php')) { 
     if (is_dir($entry)) { 
      if (($entry != '..') or $show_dotdirs){ 
       $dirs[] = $entry; 
      } 
     } else { 
      $files[] = $entry; 
     } 
    } 
} 
$dir->close(); 

sort($dirs); 
foreach ($dirs as $dir) { 
    printf('<strong>&lt;</strong> <a href="%s">%s</a> <strong>&gt;</strong><br />' . "\n", $dir, $dir); 
} 

sort($files); 
foreach ($files as $file) { 
    printf('<hr />%s<br />' . "\n", $file, $file); 
} 
?></td> 
     </tr> 
    </table> 
    </div> 
    <div id="fright">TEST 
    </div> 
</div> 
</body> 
</html> 

:現在、このを使用して

ファイル名は新しいファイルの横にある

私はFilesizeの出力についてあまり気にしませんが、ou KB

おかげで、アダム

答えて

3

にこれを追加することができます。

そして、あなたは出力this little functionと人間が読めるサイズことができます。

function file_size($size) 
{ 
    $filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); 
    return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i] : '0 Bytes'; 
} 

あなたが# Configuration前に関数を定義して、あなたのforeachの中でそれを呼び出す:

echo file_size(filesize('../Movies/'.$file)); 
+0

どのように私のforeachでこの機能を使用しますか? –

+0

私は私の答えを更新しました – j0k

+0

ありがとう、fianllyは私が望むように働いています –

1

TPUTあなたは、ファイルのサイズを取得し、ファイル名にサイズのファイルの名前を変更するファイルサイズの機能を使用し、その後、ファイルを書き込むことができます。

http://php.net/manual/en/function.filesize.php

0

あなたがあなたの$file変数に機能filesizeを使用する必要がありますあなたのforeachの

echo '<span>'.round(filesize ('../Movies/'.$file)/1024, 1).' Kb</span>'; 
+0

[OK]をので、私が行っていますこれは: sort($ files); foreachの($ファイルとして$ファイル){ \t場合($ tick1 = 0!) \t { \t \tエコー "


"。 \t} printf( '%s
'。 "\ n"、$ file、$ file); echo round(filesize($ file)/ 1024、1)。 ' KB
'; \t $ tick1 = $ tick1 + 1; } すべてのファイルから取得しているのは0KBです... –

+0

@AdamCoulson、fixed – Adi

関連する問題