我做了一个网络硬盘的代码页面。。想要像如图那样显示出每一个上传的文件的大小。。用filesize()怎么做?最好给出完整代码??

解决方案 »

  1.   

    <?php
    $dirname = "./";$str = "<table border=0 cellpadding='3' cellspacing='3' /><tr><td>文件名</td><td>大小</td></tr>";$handler = opendir($dirname);
    while(false !== ($entry = readdir($handler)))
    {
    if($entry == "." || $entry == "..")
    {
    continue;
    }
    $str .= "<tr><td>".$entry."</td>";
    if(!is_dir($dirname.$entry))
    {
    $str .= "<td>".filesize($entry)."B</td></tr>";
    }
    else
    {
    $str .= "<td>_</td></tr>";
    }

    }
    closedir($handler);
    $str .= "</table>";echo $str;
    ?>
      

  2.   

    <?php
    /**
     *字节大小转换方法 
     */
    function byteSizeConversion($size)
    {
    //1024 b kb m g
    if($size <1024)
    {
    $s = $size."B";
    }
    elseif($size < 1024*1024)
    {
    $s = floor($size/1024)."K";
    }
    elseif($size < 1024*1024*1024)
    {
    $s = floor($size/1024*1024)."M";
    }
    elseif($size < 1024*1024*1024*1024)
    {
    $s = floor($size/1024*1024*1024)."G";
    }
    else
    {
    $s = floor($size/1024*1024*1024*1024)."T";
    }
    return $s;
    }
    $dirname = "./";$str = "<table border=0 cellpadding='3' cellspacing='3' /><tr><td>文件名</td><td>大小</td></tr>";$handler = opendir($dirname);
    while(false !== ($entry = readdir($handler)))
    {
    if($entry == "." || $entry == "..")
    {
    continue;
    }
    $str .= "<tr><td>".$entry."</td>";
    if(!is_dir($dirname.$entry))
    {
    $size = filesize($entry);
    $str .= "<td>".byteSizeConversion($size)."</td></tr>";
    }
    else
    {
    $str .= "<td>_</td></tr>";
    }

    }
    closedir($handler);
    $str .= "</table>";echo $str;
    ?>
      

  3.   

    Warning: filesize() [function.filesize]: stat failed for 2009783927.torrent in C:\htdocs\pp.php on line 66
    按楼上的朋友给出的代码修改放上去后,出现了这样一条警告。。并且无法顺利显示出文件的大小。。怎么办呢?66行代码是         $str .= "<td>".filesize($entry)."B</td></tr>";