Taille fichiers trop grande

Bonjour,
Tout d’abord merci à toute l’équipe de Dolibarr, j’utilise ce produit depuis deux ans et c’est un excellent CRM à mon avis.

Ma question à présent :
Je suis passé récemment en 2.8 et j’ai un souci avec la limite de taille des fichiers en upload pour la GED.
En effet jusqu’à present nous n’avions pas besoin de déposer des fichiers de plus d’1Mo mais à présent ceux ci atteigne les 3Mo et la ca bloque.
J’ai donc modifié le paramêtre d’upload dans le php.ini et dans l’onglet sécurité comme expliqué dans un post précédent et j’ai toujours une erreur.

- Chemin du php.ini (serveur Windows 2008) :
C:\dolibarr\bin\php\php5.3.0
paramètres :
; Maximum allowed size for uploaded files.
upload_max_filesize = 20M

- Dans sécurité :
20000 Ko

Je sais (et c’est noté dans l’onglet sécurité) que le php limite à 2048 par default.
Mais peut on bypasser cette limite ?

Merci d’avance.
Cdt,
Slauga

Bonjour,
j’ai rencontré la même erreur, sous Debian. Pour un autre service j’ai défini des valeurs élevées dans php.ini :

upload_max_filesize = 1G post_max_size = 1G
Et quand j’essaie d’ajouter un fichier joint (à une propal par exemple), j’ai le message d’erreur « La taille du fichier est trop grande. »
En survolant le ‹ i › à côté du bouton « Envoyer fichier », il y a le message suivant :

En limite Dolibarr, j’ai défini une autre valeur dans « Accueil>Configuration>Sécurité>Fichier » et j’ai aussi tenté dans « Divers » de définir MAIN_UPLOAD_DOC, mais c’est à chaque fois la même chose.

Le message obtenu en survolant le ‹ i › me fait dire que c’est l’indication de taille dans php.ini (‹ G › dans mon cas) qui pose problème et n’est pas interprété mais gardé en l’état. Or le paramètre de php.ini n’est pas défini par défaut (commenté avec valeur nominale à 2M).

Quelqu’un d’autre a-t-il eu le même problème ? Existe-t-il une solution autre que de définir une valeur à 1048576 (sous entendu Ko) dans mon php.ini ?
Merci

Bonsoir,

upload_max_filesize = 64M
64 Mo c’est déjà pas mal en upload ! 1 Go c’est pas réaliste !
Ce n’est pas parce-que vous faites cette modif qu’elle est fonctionnelle ! Il peut y avoir des restrictions coté hébergeur pour éviter les aberrations genre « 1G » :smiley:
@+

Certes, je suis entièrement d’accord.
Mon propos était juste de pointer la non-prise en compte de l’unité (‹ G › dans mon cas, mais cela peut être ‹ M ›) du fichier php.ini.
Je testerai avec une valeur plus « raisonnable » et vous redirait ce qu’il en est.
ps: pas de restriction hébergeur, c’est moi qui gère le système.
++

Bonjour,

upload_max_filesize et tous les autres paramètres de configuration de php sont documentés et cette documentation directement accessible en ligne.

Concernant la notation sténographique on trouve ici la réponse :

Bonjour
Dans le fichier htdocs/core/class/html.formfile.class.php

            $max=$conf->global->MAIN_UPLOAD_DOC;        // En Kb
            $maxphp=@ini_get('upload_max_filesize');    // En inconnu
            if (preg_match('/m$/i',$maxphp)) $maxphp=$maxphp*1024;
            // Now $max and $maxphp are in Kb
            if ($maxphp > 0) $max=min($max,$maxphp);

transformez en:

            $max=$conf->global->MAIN_UPLOAD_DOC;        // En Kb
            $maxphp=@ini_get('upload_max_filesize');    // En inconnu
            if (preg_match('/k$/i',$maxphp)) $maxphp=$maxphp*1;
            if (preg_match('/m$/i',$maxphp)) $maxphp=$maxphp*1024;
            if (preg_match('/g$/i',$maxphp)) $maxphp=$maxphp*1024*1024;
            if (preg_match('/t$/i',$maxphp)) $maxphp=$maxphp*1024*1024*1024;
            // Now $max and $maxphp are in Kb
            if ($maxphp > 0) $max=min($max,$maxphp);

et dolibarr reconnaitra les giga et les tera du php.ini sauf erreur de ma part.
La valeur à saisir dans dolibarr ne doit pas avoir d’unité.

Fred

2 « J'aime »

Oui, puisqu’on saisit des Ko comme l’indique l’interface de configuration de Sécurité > Divers > Taille maximum des fichiers envoyés…

D’ailleurs, il y est précisé « Votre PHP limite la taille des envois à nnnnn Ko, quelle que soit la valeur de ce paramètre. », c’est à dire que ce qui est dans php.ini prévaut sur ce qui est saisi dans la config Dolibarr.

Bonjour
Et c’est cela que Dolibarr interprète mal si dans le php.ini on a mis 1G, Dolibarr va comprendre 1G Ko alors que si on mets 1M il comprends 1024Ko

Fred

Bonjour,
@frederic34, ta proposition de patch fonctionne et la limitation est de nouveau celle définie dans l’interface Dolibarr. Merci.
@m.pintor, merci pour les extraits de php.net, un rappel ne fait pas mal :happy:
Je clos le sujet dès que je trouve comment.