Support de l'utilisationRedimensionnement automatique des images en pièce jointe

Forum de support pour toutes les questions concernant l'utilisation de phpBB toutes versions. les problèmes rencontrés lors de manipulations et de la configuration du forum.
Répondre
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 359
Enregistré le : 25 novembre 2018
Relax-Arcade :  3
Pays :
Belgique (be)
Belgique
Contact :

Redimensionnement automatique des images en pièce jointe

Message par Belgique xpmen » 17 févr. 2019, 09:10
Bonjour à tous

sur mon fofo, on poste énormément de photos, et comme la saison potagère va bientôt commencer, le flux de photo va arriver :P


bref sur mon ancienne version (phpbb 3.0.14 )
il y avais une modification apporter pour réduire automatiquement en poids les photo, je parle bien du poids, pas de la taille afficher
j'ai chercher si l'équivalent exister en extension, mais je n'ai rien trouver

bien sur chacun peux travailler son image est réduire sont poids, mais ça c'est pour ceux qui maitrise assez leur pc et ses fonctionnalité.
chez moi ce sont des jardiniers qui maitrise le semis et les plantation plutôt :lol:

et comme vous le savais, une photo prise avec un numérique (appareil pour portable) ont est très vite à 5,6 voir 7 mB)


exemple ici en 2017: http://hortus-meo.be/viewtopic.php?f=6&t=309
et la en 2019: http://hortus-meo.be/viewtopic.php?f=6&t=729
la différence est énorme !!
Contenu caché
Vous devez être inscrit et connecté sur ce forum pour voir le contenu caché.
le code mis en place sur mon ancienne version fonctionner très bien, si je compare une photo poster en 2017 et qui a l'original faisait 3.5 mB une fois poster elle est de 289 kio

existe t'il quelque chose d'équivalent pour les version actuel de phpbb ?

au cas ou, je vous poste ici le code qui avais était mis en place

dans mon includes/functions_posting.php
je devais trouver:

code : Tout sélectionner

    $file->move_file($config['upload_path'], false, $no_image);
et ajouter avant:

code : Tout sélectionner

    // Modify these params accordingly to suit your installation
      $nMaxWidth = 690;
      $nMaxHeight = 800;
      $nJPEGCompression = 90;

      // You may want to modify this "if this attachment an image" check.. at the moment I'm using this:

      if (strpos($file->get('mimetype'), 'image/') === 0) {
        $sImgSourceFilename = $file->get('filename');
        if ($arrImageData = @getimagesize($sImgSourceFilename)) {

          $nImageType = $arrImageData[2];

          switch ($nImageType) {
            case IMG_GIF:
              $imgSource = @imagecreatefromgif($sImgSourceFilename);
              break;
            case IMG_JPG:
              $imgSource = @imagecreatefromjpeg($sImgSourceFilename);
              break;
            case IMG_PNG:
              $imgSource = @imagecreatefrompng($sImgSourceFilename);
              break;
            case IMG_WBMP:
              $imgSource = @imagecreatefromwbmp($sImgSourceFilename);
              break;
            default:
              $imgSource = null;
              break;
          }

          // Assuming we managed to read in the image OK..
          if ($imgSource) {
            $nImgWidth = $arrImageData[0];
            $nImgHeight = $arrImageData[1];

            $doResize = false;
            if ($nImgHeight > $nMaxHeight || $nImgWidth > $nMaxWidth) {
              $doResize = true;
              // otherwise image width and/or height exceed our max dimensions
              // work out the new widht/height for downward proportional resampling:
              if ($nImgHeight > $nMaxHeight) {
                $nRatio = ($nImgWidth / $nImgHeight);
                $nImgHeight = $nMaxHeight;
                $nImgWidth = round($nMaxHeight * $nRatio);
              }
              if ($nImgWidth > $nMaxWidth) {
                $nRatio = ($nImgHeight / $nImgWidth);
                $nImgWidth = $nMaxWidth;
                $nImgHeight = round($nMaxWidth * $nRatio);
              }
            }

            if ($doResize) {
              $imgScaled = ImageCreateTrueColor($nImgWidth, $nImgHeight);
              if (imagecopyresampled($imgScaled, $imgSource, 0, 0, 0, 0, $nImgWidth, $nImgHeight, $arrImageData[0], $arrImageData[1]))
                imagejpeg($imgScaled, $sImgSourceFilename, $nJPEGCompression);
              imageDestroy($imgScaled);
            }
            imageDestroy($imgSource);
          }
        }
      }
pour les passionés du potager: www.hortus-meo.be
Avatar de Sylver35
France Sylver35
Administrateur du site
Messages : 728
Enregistré le : 13 janvier 2018
Relax-Arcade :  1
Localisation : Bretagne
Pays :
France (fr)
France
Contact :

Redimensionnement automatique des images en pièce jointe

Message par France Sylver35 » 17 févr. 2019, 21:33
Bonjour,

J'ai fouillé dans tous les sens et je peux te dire qu'à ce jour, rien n'existe pour redimensionner les images lors de l'upload.
Les fonctions qui touchent l'upload ont énormément évoluées (et le vont encore prochainement) donc reste pour l'instant à patienter.
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Avatar de xpmen
Belgique xpmen
Auteur du sujet
Messages : 359
Enregistré le : 25 novembre 2018
Relax-Arcade :  3
Pays :
Belgique (be)
Belgique
Contact :

Redimensionnement automatique des images en pièce jointe

Message par Belgique xpmen » 18 févr. 2019, 19:51
bonsoir
merci de tes recherche Sylver ;)

arf, dommage
me demande pourquoi sa n'a pas était repris, c'est pourtant très efficace et surtout très utile :cry:

encore merci Sylver
pour les passionés du potager: www.hortus-meo.be
Répondre
  • Membres connectés en temps réel

    🔒 Refermer le panneau des membres connectés