[RESOLVED] autoindex size bug

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

  1. justme

    justme 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 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 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 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