[RESOLVED] autoindex size bug

Discussion in 'Bug Reports' started by justme, Mar 9, 2010.

  1. justme

    justme Well-Known Member

    Hello,
    using lsws standard 4.0.13 on linux, autoindex can't display file sizes above 2GB (unsigned int), it shows negatives or wrapped numbers instead.
     
    Last edited by a moderator: Mar 13, 2010
  2. justme

    justme Well-Known Member

    Fixed by replacing line 161 of /usr/local/lsws/share/autoindex/default.php
    with
    $fileStat->size = (float) exec('stat -c %s '.escapeshellarg("$path$file"));
     
  3. mistwang

    mistwang LiteSpeed Staff

    You can try
    $fileStat->size = sprintf("%u", $s[7]);

    it limit to 4GB due to PHP limits on 32bit system.
     
  4. justme

    justme Well-Known Member

    Actually my solution works except for one thing, utf-8 named files. It is also broken when browsing so it is not only related to file sizes.
    Do you have a recommended php configuration? I tried to force the location to define default charset as utf-8 but it doesn't work (content-type does not contain charset).
     
  5. justme

    justme Well-Known Member

    I got it all working with adding
    <meta http-equiv=\"Content-type\" content=\"text/html; charset=UTF-8\"/>

    and fixing:
    $uri = htmlentities($uri,ENT_COMPAT,"UTF-8");

    $fileStat->size = 512*$s[12]; (works for files <2TB in size :D)
     
  6. mistwang

    mistwang LiteSpeed Staff

    Thanks for the fix, we will apply the change to next release.
     

Share This Page