#1 2011-09-03 14:55:12

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

[2.3.0RC1] Estimation de l'upload maximum

Le nouveau système d'upload est tout simplement génial. Et cela fonctionne même chez Free ^^

Juste pour savoir, comment est réalisé le calcul des paramètres maximum acceptables pour l'upload ? Chez Free, par exemple, je ne suis pas parvenu à dépasser les 2700 x 2025 px alors que la limite annoncée est de 3000 x 2000 px.
Il est bien précisé qu'il s'agit d'une estimation qui ne devrait pas faire autorité mais on a souvent tendance à flirter avec les limites ;-)

Hors ligne

#2 2011-09-03 23:34:47

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12673

Re: [2.3.0RC1] Estimation de l'upload maximum

Voilà l'algorithme :

Code:

  $fudge_factor = 1.7;
  $available_memory = get_ini_size('memory_limit') - memory_get_usage();
  $max_upload_width = round(sqrt($available_memory/(2 * $fudge_factor)));
  $max_upload_height = round(2 * $max_upload_width / 3);
  
  // we don't want dimensions like 2995x1992 but 3000x2000
  $max_upload_width = round($max_upload_width/100)*100;
  $max_upload_height = round($max_upload_height/100)*100;
  
  $max_upload_resolution = floor($max_upload_width * $max_upload_height / (1000000));

En gros, je connais de manière approximative le nombre de pixels que GD peut gérer pour une quantité de mémoire donnée, moyenne un coefficient "flou", le $fudge_factor. J'ai trouvé cet algorithme sur le web :

memoryNeeded = largeur x hauteur x profondeur_en_bits x (nombre de canaux / 8) * fudge_factor;

J'ai simplifié en considérant que profondeur = 8 et nombre de canaux = 3.

Mes tests ont montré un $fudge factor de 1.6+e donc j'ai arrondi à 1.7 de manière pessimiste. De plus, pour ne pas donner qu'un nombre de pixels qui n'est pas toujours très parlant, j'ai voulu donné des dimensions largeur*hauteur et j'ai considéré un format 3/2 (j'aurais pu prendre 4/3 comme sur un tas d'appareils compacts, mais j'ai choisi 3/2 comme sur les reflex)

Est-ce que cela répond à ta question ? :-)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#3 2011-09-04 01:54:58

Yannick45
Membre
Chécy, France
2011-08-13
77

Re: [2.3.0RC1] Estimation de l'upload maximum

Je comprends pas encore grand chose à toutes ces données informatiques, mais je suis content que vous ayez privilégié le format 3/2 (24x36) plutôt que le 4/3.

Hors ligne

#4 2011-09-04 02:24:07

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [2.3.0RC1] Estimation de l'upload maximum

plg a écrit:

Est-ce que cela répond à ta question ? :-)

Tout à fait ! Merci pour ces explications. Cet algo est pas mal du tout et donne une excellent appréciation des limites selon l'hébergeur. J'ai testé chez e-clicking et le résultat est très proche.

Bravo encore pour cette trouvaille ;-)

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact