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.
Avatar du membre
Belgiquexpmen
Auteur du sujet
Messages : 97
Enregistré le : 25 nov. 2018, 12:13
Liquide disponible : 747.80 ßzh
Pays :
Belgique (be)
Belgique

Redimensionnement automatique des images en pièce jointe

Message par Belgiquexpmen » 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 du membre
FranceSylver35
Administrateur du site
Messages : 212
Enregistré le : 13 janv. 2018, 15:04
Liquide disponible : 1 225.55 ßzh
Solde : 205.00 ßzh
 
Relax-Arcade :  4
Localisation : Bretagne
Pays :
France (fr)
France

Redimensionnement automatique des images en pièce jointe

Message par FranceSylver35 » 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.
Bonjour la terre !!

Avatar du membre
Belgiquexpmen
Auteur du sujet
Messages : 97
Enregistré le : 25 nov. 2018, 12:13
Liquide disponible : 747.80 ßzh
Pays :
Belgique (be)
Belgique

Redimensionnement automatique des images en pièce jointe

Message par Belgiquexpmen » 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

  • Sujets similaires
    Réponses
    Vues
    Dernier message