![]() |
[RESOLVED] autoindex size bug
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. |
Fixed by replacing line 161 of /usr/local/lsws/share/autoindex/default.php
with $fileStat->size = (float) exec('stat -c %s '.escapeshellarg("$path$file")); |
You can try
$fileStat->size = sprintf("%u", $s[7]); it limit to 4GB due to PHP limits on 32bit system. |
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). |
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) |
Thanks for the fix, we will apply the change to next release.
|
| All times are GMT -7. The time now is 07:59 AM. |