Closed (fixed)
Project:
Filebrowser
Version:
6.x-2.x-dev
Component:
Documentation
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
28 Jul 2011 at 20:14 UTC
Updated:
16 Sep 2012 at 22:46 UTC
Hi !, when Idownload a file [test.mkv - 1.5GB~] it stops downloading when it reaches 150MB~ I've tried both direct and private download with no luck.
Comments
Comment #1
Nicolas Georget commentedI tried with a 2Gb mkv file and works fine. But I have noticed with some files that are over xxGb, the displayed size is really odd. For example on my server:
The download of 2nd and 3rd file is corrupted as yours (288.19 MB and 1903.69 MB are downloaded).
In the same kind, the modification date might be prior to the created date.
Filebrowser use the PHP function
stat()to fetch the informations. And format it with the drupal functionformat_size()I do not know how to solve this (PHP issue), but i know where it comes from. Here's an example of your error based on a file above (the 6.3 Gb one):
PHP display
1996168143octets, which is the size displayed by Filebrowser wrongly (1903.69 MB). You can test on your own server with your mkv file and for sure you'll have something around 150Mb.In the PHP documentation (http://www.php.net/manual/en/function.filesize.php) there's a note about the 32bit integers, but a tried also with the
sprintf()function and got the same wrong result.Comment #2
Nicolas Georget commentedI have just found the solution: http://www.php.net/manual/en/function.filesize.php#102135
and works fine now:
It comes from the PHP 32bit integers
Comment #3
Nicolas Georget commented@iker
If you decide to modify the PHP code of Filebrowser (as i did for testing) and make it work with files, you have to be aware that the PHP function
header("Content-Length: " . filesize($file))called by Filebrowser will not work for the same reason. It only accept a 32bits integer.You will download a 2Gb packet.
In this case you have 2 options:
header("Content-Length: " . filesize($file))Comment #4
johnv@Nicolas,
I think you just have high-jacked this issue. If I understand you correct, You have a solution for the display of the size, not for "when Idownload a file [test.mkv - 1.5GB~] it stops downloading."
I have also problems with downloading big files (219Mb). In Google Chrome, no problem, but IE8 stops with the following error:
Fatal error: Maximum execution time of 30 seconds exceeded in filebrowser.pages.inc on line 70
Fatal error: Maximum execution time of 30 seconds exceeded in Unknown on line 0
Comment #5
Nicolas Georget commentedActually, this concerns the both. To display correctly the size of the file and/or to download it, PHP needs to know its size in bytes.
To make it clear, can you tell me with your mkv file:
That becomes odd... by any chance, do you have switched on the
zlib.output_compressionin the php.ini ?Comment #6
johnvThe size of the files seems to be OK:
1.tif = 229.633.480 bytes = 218.9955 MB, filebrowser shows: 219 MB
7.tif = 229.566.072 bytes = 218.9313 MB, filebrowser shows: 218.93 MB
Comment #7
Nicolas Georget commentedSorry but maybe i was not clear: I asked the size of your MKV video and what is the OS of your WebServer.
And for your Tiff files with IE8, forget what i said about the zlib compression. I had this issue and it corrupts all the downloads. Unless this is the case ?
So far i know, some attachments downloaded with IE are recognized as an archive. I had this behavior last week with a Powerpoint: myFile.pptx once downloaded was myFile.pptx.zip and of course it was not a valid archive after.
This is my first guess because following your error in
filebrowser.pages.inc on line 70, this is du of the destruction method called by the PHP Class ZIPArchive::close()So Is there any Internet Options on IE8 that turn On/Off ? let me know if you figure out how and if it'll fix
Comment #8
Yoran commentedlong time, no news:)