{"id":25156,"date":"2021-06-01T19:26:00","date_gmt":"2021-06-01T16:26:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25156"},"modified":"2021-10-18T02:35:06","modified_gmt":"2021-10-17T23:35:06","slug":"so-optimieren-sie-das-bild-beim-hochladen-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-optimieren-sie-das-bild-beim-hochladen-in-php\/","title":{"rendered":"So optimieren Sie das Bild beim Hochladen in PHP"},"content":{"rendered":"<p>K\u00fcrzlich hat mich einer der Leser gefragt, wie man Bilder beim Hochladen in PHP optimiert. Um die Frage zu beantworten, habe ich beschlossen, einen Artikel zu schreiben, der zeigt, wie wir die Dateigr\u00f6\u00dfe beim Hochladen reduzieren oder komprimieren k\u00f6nnen.<\/p>\n<p>Als Entwickler ist das Hochladen von Dateien unsere regelm\u00e4\u00dfige Aufgabe. Wir machen es immer auf traditionelle Weise. Mit der eingebauten Funktion verschieben <code>move_uploaded_file<\/code>wir die Bilder in das Verzeichnis und lassen sie so wie sie sind. Denken wir an ein paar Punkte wie die Gr\u00f6\u00dfe des hochgeladenen Bildes? Wird es eine Weile dauern, bis dieses Bild auf einer Website geladen wird? Kann ich ein Bild optimieren, ohne seine Qualit\u00e4t zu verlieren?<\/p>\n<p>Bilder spielen eine wichtige Rolle f\u00fcr die Geschwindigkeit der Website. Schwere Bilder verlangsamen die Seitengeschwindigkeit, wodurch Ihr Publikum und Ihr Datenverkehr verloren gehen. Diese Situation ist nicht bezahlbar. Wir bem\u00fchen uns sehr, das Publikum und den Verkehr aufzubauen. Als bew\u00e4hrte Vorgehensweise sollten Sie das Bild beim Hochladen optimieren.<\/p>\n<p>In diesem Artikel werde ich den <a href=\"https:\/\/tinypng.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TinyPNG-<\/a> Dienst zur Optimierung der Bilder verwenden. Wir werden in wenigen Augenblicken einen Code daf\u00fcr schreiben. In der Zwischenzeit ist unten der Screenshot von tinypng.com, um den Unterschied zwischen Original- und optimiertem Bild zu visualisieren.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20382-6081e8cbba932.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20382-6081e8cbba932.png\" alt=\"So optimieren Sie das Bild beim Hochladen in PHP\" ><\/a><\/p>\n<h3>Verwenden Sie TinyPNG, um das Bild beim Hochladen zu optimieren<\/h3>\n<p>Um zu beginnen, m\u00fcssen Sie die TinyPNG-Bibliothek installieren. Installieren Sie die Bibliothek mit dem folgenden Befehl.<\/p>\n<pre><code>composer require tinify\/tinify<\/code><\/pre>\n<p><a href=\"https:\/\/tinypng.com\/developers\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Holen Sie sich<\/a> nach der Installation der Bibliothek Ihren API-Schl\u00fcssel von der <a href=\"https:\/\/tinypng.com\/developers\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TinyPNG-<\/a> Website.<\/p>\n<p><strong>Hinweis<\/strong>: TinyPNG erm\u00f6glicht die kostenlose Komprimierung von 500 Bildern pro Monat. F\u00fcr mehr als 500 Bilder m\u00fcssen Sie diese bezahlen. Wenn Sie eine kleine Website betreiben, reicht dieses Kontingent aus.<\/p>\n<p>Sobald Sie mit dem API-Schl\u00fcssel fertig sind, beginnen wir mit dem Code. Ich erstelle ein einfaches HTML-Formular, das Dateieingaben und eine Schaltfl\u00e4che zum Senden enth\u00e4lt.<\/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=\"myfile\" accept=\"image\/*\" required \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" name=\"submit\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Wenn die Benutzer ein Bild mithilfe dieses Formulars hochladen, schreiben die Entwickler die folgende Art von Code, um das hochgeladene Bild auf den Server zu verschieben.<\/p>\n<pre><code>if (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$allowed_mime_types = array('image\/gif', 'image\/jpg', 'image\/jpeg', 'image\/png');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!in_array($_FILES['myfile']['type'], $allowed_mime_types)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Invalid file format.';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0exit();\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!file_exists(getcwd().'\/uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir(getcwd().'\/uploads', 0777);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$src_file_name = $_FILES['myfile']['name'];\n\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['myfile']['tmp_name'], getcwd().'\/uploads\/'.$src_file_name);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo \"File uploaded successfully\";\n}<\/code><\/pre>\n<p>Der obige Code ist korrekt und es gibt kein Problem mit Ausnahme des fehlenden Teils der Bildoptimierung. Um Bilder zu optimieren, m\u00fcssen Sie nur 2 Zeilen Code nach der <code>move_uploaded_file<\/code>Anweisung hinzuf\u00fcgen .<\/p>\n<pre><code>\/\/optimize image using TinyPNG\n$source = TinifyfromFile(getcwd().'\/uploads\/'.$src_file_name);\n$source-&gt;toFile(getcwd().'\/uploads\/'.$src_file_name);<\/code><\/pre>\n<p>Die obigen 2 Zeilen nehmen ein Bild aus dem Quellpfad, optimieren es mit der TinyPNG-Bibliothek ohne Qualit\u00e4tsverlust und speichern es wieder im gleichen Quellpfad. Mit anderen Worten, es ersetzt das Originalbild durch die optimierte Version.<\/p>\n<p>Unser endg\u00fcltiger Code ist wie folgt.<\/p>\n<pre><code>&lt;?php\nrequire_once(\"vendor\/autoload.php\");\n\u00a0\nTinifysetKey(\"TINYPNG_API_KEY\"); \/\/pass your actual API key\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$allowed_mime_types = array('image\/gif', 'image\/jpg', 'image\/jpeg', 'image\/png');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!in_array($_FILES['myfile']['type'], $allowed_mime_types)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Invalid file format.';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0exit();\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (!file_exists(getcwd().'\/uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir(getcwd().'\/uploads', 0777);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$src_file_name = $_FILES['myfile']['name'];\n\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['myfile']['tmp_name'], getcwd().'\/uploads\/'.$src_file_name);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/optimize image using TinyPNG\n\u00a0\u00a0\u00a0\u00a0$source = TinifyfromFile(getcwd().'\/uploads\/'.$src_file_name);\n\u00a0\u00a0\u00a0\u00a0$source-&gt;toFile(getcwd().'\/uploads\/'.$src_file_name);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo \"File uploaded successfully.\";\n}\n?&gt;\n&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"myfile\" accept=\"image\/*\" required \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" name=\"submit\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Mach weiter und probiere es aus. Sie sollten sehen, dass die optimierte Version des Bildes in Ihrem Verzeichnis gespeichert wird.<\/p>\n<p>Ich hoffe, Sie verstehen, wie Sie das Bild beim Hochladen in PHP optimieren. Ich w\u00fcrde gerne Ihre Gedanken und Vorschl\u00e4ge im Kommentarbereich unten h\u00f6ren.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/tinypng-bilder-mit-php-komprimieren\/\" title=\"TinyPNG Bilder mit PHP komprimieren\">TinyPNG Bilder mit PHP komprimieren<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/mehrere-bilder-in-php-hochladen-und-komprimieren\/\" title=\"Mehrere Bilder in PHP hochladen und komprimieren\">Mehrere Bilder in PHP hochladen und komprimieren<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-laden-und-komprimieren-sie-bilder-in-laravel\/\" title=\"Eine Anleitung zum Hochladen und Komprimieren von Bildern in Laravel\">Eine Anleitung zum Hochladen und Komprimieren von Bildern in Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel zeige ich Ihnen, wie Sie das Bild beim Hochladen in PHP mithilfe der TinyPNG-Bibliothek optimieren. Bilder spielen eine sehr wichtige Rolle in der Website.<\/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":[272],"tags":[845],"class_list":["post-25156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-3","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=25156"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25156\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21612"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}