{"id":26138,"date":"2021-06-20T13:27:00","date_gmt":"2021-06-20T10:27:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26138"},"modified":"2021-10-18T02:02:53","modified_gmt":"2021-10-17T23:02:53","slug":"compresser-des-images-pour-un-site-web-a-l-aide-de-resmush-it-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/compresser-des-images-pour-un-site-web-a-l-aide-de-resmush-it-en-php\/","title":{"rendered":"Compresser des images pour un site Web \u00e0 l&rsquo;aide de reSmush.it en PHP"},"content":{"rendered":"<p>Publi\u00e9 dans <a href=\"https:\/\/artisansweb.net\/category\/php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/p>\n<p>Les images rendent votre site Web magnifique et ajoutent une meilleure exp\u00e9rience utilisateur aux visiteurs. Cependant, les images peuvent \u00e9galement affecter les performances du site et ralentir incroyablement la vitesse de votre site. Et nous savons tous que les sites Web plus lents ne peuvent pas r\u00e9ussir sur Internet.<\/p>\n<p>Dans cet article, nous vous montrons comment compresser des images pour des sites Web en utilisant reSmush.it en PHP. En utilisant ce service, les utilisateurs peuvent r\u00e9duire la taille des images de leur site Web. Cela aidera \u00e0 am\u00e9liorer la vitesse de la page. Le reSmush.it est un outil gratuit de compression d&rsquo;images. Un utilisateur peut compresser autant d&rsquo;images qu&rsquo;il le souhaite. Il n&rsquo;y a pas de telle limite sur le nombre d&rsquo;images.<\/p>\n<p>Au moment de la r\u00e9daction de cet article, <a href=\"https:\/\/resmush.it\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">reSmush.it<\/a> compresse plus de 7 milliards d&rsquo;images \u00e0 ce jour et compte toujours. Ce num\u00e9ro prouve que c&rsquo;est un service tr\u00e8s populaire parmi les utilisateurs.<\/p>\n<h3>Commencer<\/h3>\n<p>Cr\u00e9ons un formulaire simple o\u00f9 l&rsquo;utilisateur peut t\u00e9l\u00e9charger l&rsquo;image. Lors de la soumission de l&rsquo;image, en utilisant PHP, nous enverrons l&rsquo;image aux services reSmush.it et recevrons la version optimis\u00e9e de notre image.<\/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\" accept=\"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<p>Ici, nous avons ajout\u00e9 un bouton de saisie de fichier et de soumission. Nous avons \u00e9galement utilis\u00e9 un attribut <code>accept=\"image\/*\"<\/code>qui vous permet de s\u00e9lectionner uniquement des fichiers image.<\/p>\n<h3>Compresser des images pour un site Web en PHP<\/h3>\n<p>Maintenant, nous devons interagir avec l&rsquo;API reSmush.it. Nous allons \u00e9crire un code qui ex\u00e9cute les \u00e9tapes suivantes.<\/p>\n<ul>\n<li>T\u00e9l\u00e9chargez l&rsquo;image sur notre serveur.<\/li>\n<li>Envoyez l&rsquo;image t\u00e9l\u00e9charg\u00e9e au point de terminaison de l&rsquo;API reSmush.it.<\/li>\n<li>Re\u00e7oit le chemin d&rsquo;une image optimis\u00e9e.<\/li>\n<li>Stockez cette version optimis\u00e9e sur notre serveur en rempla\u00e7ant l&rsquo;image d&rsquo;origine.<\/li>\n<\/ul>\n<p>Avant de continuer, assurez-vous d&rsquo;avoir activ\u00e9 l&rsquo;extension cURL sur votre serveur.<\/p>\n<pre><code>&lt;?php\nif (isset($_POST['submit'])) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/allowed file types\n\u00a0\u00a0\u00a0\u00a0$arr_file_types = ['image\/png', 'image\/gif', 'image\/jpg', 'image\/jpeg'];\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!(in_array($_FILES['image']['type'], $arr_file_types))) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0die('Only image is allowed!');\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads', 0777);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['image']['tmp_name'], 'uploads\/'. $_FILES['image']['name']);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ optimize image using reSmush.it\n\u00a0\u00a0\u00a0\u00a0$file = getcwd(). '\/uploads\/'. $_FILES['image']['name'];\n\u00a0\u00a0\u00a0\u00a0$mime = mime_content_type($file);\n\u00a0\u00a0\u00a0\u00a0$info = pathinfo($file);\n\u00a0\u00a0\u00a0\u00a0$name = $info['basename'];\n\u00a0\u00a0\u00a0\u00a0$output = new CURLFile($file, $mime, $name);\n\u00a0\u00a0\u00a0\u00a0$data = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"files\" =&gt; $output,\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_URL, 'http:\/\/api.resmush.it\/?qlty=80');\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POST,1);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POSTFIELDS, $data);\n\u00a0\u00a0\u00a0\u00a0$result = curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0if (curl_errno($ch)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$result = curl_error($ch);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0curl_close ($ch);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$arr_result = json_decode($result);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ store the optimized version of the image\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init($arr_result-&gt;dest);\n\u00a0\u00a0\u00a0\u00a0$fp = fopen(getcwd(). '\/uploads\/'. $name, 'wb');\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_FILE, $fp);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_HEADER, 0);\n\u00a0\u00a0\u00a0\u00a0curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0curl_close($ch);\n\u00a0\u00a0\u00a0\u00a0fclose($fp);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0echo \"File uploaded successfully.\";\n}\n?&gt;<\/code><\/pre>\n<p>Dans le code ci-dessus, j&rsquo;ai d\u00e9fini la valeur de qualit\u00e9 sur &rsquo;80&rsquo;, ce qui est recommand\u00e9. Vous pouvez ajuster ce nombre \u00e0 plus ou moins. Nous stockons des images dans le <code>uploads<\/code>r\u00e9pertoire. Dans votre cas, vous pouvez ajuster ce r\u00e9pertoire.<\/p>\n<p>J&rsquo;esp\u00e8re que vous comprenez comment compresser les images du site Web en PHP \u00e0 l&rsquo;aide de reSmush.it. J&rsquo;aimerais entendre vos pens\u00e9es et suggestions dans la section des commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/tinypng-compresse-des-images-a-l-aide-de-php\/\" title=\"TinyPNG compresse des images \u00e0 l&#039;aide de PHP\">TinyPNG compresse des images \u00e0 l&rsquo;aide de PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-telecharger-et-compresser-des-images-dans-laravel\/\" title=\"Un guide pour t\u00e9l\u00e9charger et compresser des images dans Laravel\">Un guide pour t\u00e9l\u00e9charger et compresser des images dans Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/optimisation-d-image-a-l-aide-du-package-artisansweb-image-optimizer\/\" title=\"Optimisation d&#039;image \u00e0 l&#039;aide du package artisansweb\/image-optimizer\">Optimisation d&rsquo;image \u00e0 l&rsquo;aide du package artisansweb\/image-optimizer<\/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 vous montrons comment compresser des images pour un site Web qui acc\u00e9l\u00e8rent votre site Web. Cela am\u00e9liore les performances de votre site et ajoute un meilleur utilisateur.<\/p>\n","protected":false},"author":1,"featured_media":21612,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-26138","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\/26138","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=26138"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/26138\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21612"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=26138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=26138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=26138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}