FileZ/FileZ — pull request #184 by palexGit (2014-07-08 13:13:31+00:00)
Title: Ajustement de FileZ pour le chargement de fichier de 2G à 10G

*************************************************************************************
Modification des fichiers pour prendre en compte le téléchargement de gros fichiers

*************************************************************************************

PROBLEME 1 :
-------------
Les modifications apportées aux sources originales permettent l'upload de fichiers
de plus de 2G.

Avant les modifications, la taille un fichier de plus de 2G n'est pas correctement perçu par PHP, même avec les modifications du php.ini avec les valeurs suivantes :

php_value file_uploads On
php_value upload_max_filesize 10737418240
php_value post_max_size 10737418240
php_value max_input_time 1200
php_value max_execution_time 1200

Le téléchargement conduit à une erreur.

RESOLUTION DU PROBLEME 1:
-------------------------
La modification du php.ini est obligatoire pour résoudre le problème sur Windows et Debian 7.
Néanmoins, Windows accepte la valeur upload_max_filesize : 10737418240, alors que Debian, CentOS et Ubuntu_Server 14.04 non.

La solution consiste à la mettre à '0', pour signifier l'infini.

PROBLEME 2 :
------------

Même si le téléchargement s'effectue dans de bonnes conditions avec les modifications si dessus, la prise en compte de la taille du fichier dans MySQL et sur l'interface de FileZ, n'est pas correcte et présente des valeurs négatives.

RESOLUTION DU PROBLEME 2 :

Au delà de 1073741824 octets, la valeur de $_POST['file']['size'] n'est pas correcte.
De plus, l'interprétation de cette valeur est différente pour des fichiers au delà de 4G et de 8G

Nous avons introduit un script jquery qui recherche la taille du fichier au moment de sa sélection.

Cette valeur est ensuite envoyée en POST et c'est elle qui sert de référence pour le calcul de la taille du fichier,
du quota utilisateur etc...

PS : UN script a été ajouter, un peu à la sauvage dans le fichier _upload_form.php
Je n'avais pas le temps de le mettre ailleurs, mais je ferais la correction plus tard.