{"id":25780,"date":"2021-06-13T17:02:00","date_gmt":"2021-06-13T14:02:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25780"},"modified":"2021-10-18T02:04:40","modified_gmt":"2021-10-17T23:04:40","slug":"redimensionner-l-image-en-php-a-l-aide-de-la-bibliotheque-d-images-d-intervention","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/redimensionner-l-image-en-php-a-l-aide-de-la-bibliotheque-d-images-d-intervention\/","title":{"rendered":"Redimensionner l&rsquo;image en PHP \u00e0 l&rsquo;aide de la biblioth\u00e8que d&rsquo;images d&rsquo;intervention"},"content":{"rendered":"<p>Vous cherchez comment redimensionner des images en PHP? Tout en travaillant sur l&rsquo;application Web, nous devons cr\u00e9er diff\u00e9rentes versions miniatures de l&rsquo;image d&rsquo;origine. La vignette est la version redimensionn\u00e9e de votre image d&rsquo;origine. Dans cet article, nous \u00e9tudions comment t\u00e9l\u00e9charger et redimensionner des images en PHP.<\/p>\n<h3>Pourquoi devrions-nous redimensionner les images\u00a0?<\/h3>\n<p>Sur le site Web, il existe plusieurs sc\u00e9narios o\u00f9 nous devons afficher une version courte d&rsquo;une grande image. Un exemple populaire est la Galerie d&rsquo;images. Dans la galerie, nous avions l&rsquo;habitude d&rsquo;afficher une liste de petites images. Lorsqu&rsquo;un utilisateur clique sur la petite image, la grande image s&rsquo;ouvre dans la fen\u00eatre contextuelle. Un autre exemple est l&rsquo;affichage d&rsquo;articles connexes o\u00f9 nous montrons de petites images avec le titre et la description d&rsquo;un article.<\/p>\n<p>Dans ces sc\u00e9narios, nous devons g\u00e9n\u00e9rer une petite image (vignette) en utilisant notre image d&rsquo;origine. Une petite vignette r\u00e9duit la taille de vos pages. Comme vous utilisez une petite vignette, le navigateur n\u00e9cessite une faible bande passante pour charger l&rsquo;image. Cela ajoutera des avantages au site Web. Certains d&rsquo;entre eux sont:<\/p>\n<ul>\n<li>Am\u00e9liore les performances du serveur<\/li>\n<li>R\u00e9duire la bande passante<\/li>\n<li>Am\u00e9liorer la vitesse des pages<\/li>\n<\/ul>\n<p>Cela \u00e9tant dit, voyons comment redimensionner l&rsquo;image en PHP.<\/p>\n<h3>Commencer<\/h3>\n<p><a href=\"http:\/\/image.intervention.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Intervention Image<\/a> est une biblioth\u00e8que open source qui agit comme un outil de redimensionnement d&rsquo;image. Sous le capot, Intervention Image utilise GD Library et Imagick pour le traitement et la manipulation des images.<\/p>\n<p>Pour commencer, vous devez installer la biblioth\u00e8que d&rsquo;images d&rsquo;intervention dans votre application. Je recommande d&rsquo;utiliser <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> pour l&rsquo;installation d&rsquo;une biblioth\u00e8que.<\/p>\n<p>Ouvrez le terminal dans le r\u00e9pertoire racine de votre projet et ex\u00e9cutez la commande ci-dessous.<\/p>\n<pre><code>composer require intervention\/image<\/code><\/pre>\n<p>Apr\u00e8s avoir install\u00e9 la biblioth\u00e8que, vous devez inclure son environnement dans votre application. Pour cela, incluez ci-dessous deux lignes dans le fichier PHP.<\/p>\n<pre><code>&lt;?php\n\/\/ include composer autoload\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;<\/code><\/pre>\n<p>Afin de t\u00e9l\u00e9charger et de redimensionner l&rsquo;image, nous avons besoin d&rsquo;un formulaire o\u00f9 l&rsquo;on peut parcourir l&rsquo;image et cliquer sur le bouton d&rsquo;envoi. Utilisez le code HTML ci-dessous qui contient l&rsquo;entr\u00e9e du fichier et un bouton d&rsquo;envoi.<\/p>\n<pre><code>&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"image\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Redimensionner l&rsquo;image en PHP \u00e0 l&rsquo;aide d&rsquo;une image d&rsquo;intervention<\/h3>\n<p>Nous avons install\u00e9 la biblioth\u00e8que et cr\u00e9\u00e9 un formulaire. Ensuite, nous devons t\u00e9l\u00e9charger et redimensionner l&rsquo;image \u00e0 la vol\u00e9e. Je vais cr\u00e9er deux r\u00e9pertoires <code>uploads<\/code>et <code>thumbnails<\/code>. Dans le <code>uploads<\/code>dossier, nous allons stocker l&rsquo;image originale. La version miniature de l&rsquo;image sera stock\u00e9e dans le <code>thumbnails<\/code>r\u00e9pertoire.<\/p>\n<p>Utilisez le code ci-dessous qui stockera la version originale et la version miniature de l&rsquo;image dans les r\u00e9pertoires <code>uploads<\/code>et <code>thumbnails<\/code>respectivement.<\/p>\n<pre><code>&lt;?php\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;\n\u00a0\n$allowed_mime_type = array('image\/jpg', 'image\/jpeg', 'image\/png', 'image\/gif');\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (in_array($_FILES['image']['type'], $allowed_mime_type)) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = time().'_'.$_FILES['image']['name'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filepath = 'uploads\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['image']['tmp_name'], $filepath);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads\/thumbnails')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads\/thumbnails', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$thumbnailpath = 'uploads\/thumbnails\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img = Image::make($filepath);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;save($thumbnailpath);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Dans le code ci-dessus, j&rsquo;ai pass\u00e9 la largeur \u00e0 300 et redimensionn\u00e9 l&rsquo;image en maintenant leur rapport hauteur\/largeur. Vous pouvez transmettre la valeur de largeur selon vos besoins. Il est recommand\u00e9 de conserver le rapport hauteur\/largeur lors du redimensionnement de l&rsquo;image. En utilisant le rapport hauteur\/largeur, l&rsquo;image ne s&rsquo;\u00e9tirera pas. Cependant, si vous recherchez un recadrage difficile, remplacez les lignes ci-dessous<\/p>\n<pre><code>$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n});<\/code><\/pre>\n<p>Avec<\/p>\n<pre><code>$img-&gt;resize(300, 150)-&gt;save($thumbnailpath);<\/code><\/pre>\n<h3>Conclusion<\/h3>\n<p>Dans ce tutoriel, nous avons \u00e9tudi\u00e9 comment redimensionner des images en conservant leur rapport hauteur\/largeur. Nous avons \u00e9galement \u00e9crit un code qui recadrera fortement l&rsquo;image. La biblioth\u00e8que d&rsquo;images d&rsquo;intervention fournit quelques options suppl\u00e9mentaires pour une <code>resize<\/code>m\u00e9thode. Vous pouvez en savoir plus \u00e0 ce sujet sur leur <a href=\"http:\/\/image.intervention.io\/api\/resize\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentation<\/a>.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/redimensionner-l-image-dans-laravel-a-l-aide-de-la-bibliotheque-d-images-d-intervention\/\" title=\"Redimensionner l&#039;image dans Laravel \u00e0 l&#039;aide de la biblioth\u00e8que d&#039;images d&#039;intervention\">Redimensionner l&rsquo;image dans Laravel \u00e0 l&rsquo;aide de la biblioth\u00e8que d&rsquo;images d&rsquo;intervention<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/redimensionner-l-image-en-php-a-l-aide-de-tinypng\/\" title=\"Redimensionner l&#039;image en PHP \u00e0 l&#039;aide de TinyPNG\">Redimensionner l&rsquo;image en PHP \u00e0 l&rsquo;aide de TinyPNG<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/glisser-deposer-le-telechargement-de-fichiers-a-l-aide-de-javascript-et-php\/\" title=\"Glisser-d\u00e9poser le t\u00e9l\u00e9chargement de fichiers \u00e0 l&#039;aide de JavaScript et PHP\">Glisser-d\u00e9poser le t\u00e9l\u00e9chargement de fichiers \u00e0 l&rsquo;aide de JavaScript et PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous \u00e9tudions comment redimensionner des images en PHP en utilisant Intervention Image Library. L&rsquo;utilisation d&rsquo;une version miniature r\u00e9duit la taille de la page Web<\/p>\n","protected":false},"author":1,"featured_media":21621,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-25780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=25780"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25780\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=25780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=25780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=25780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}