{"id":25852,"date":"2021-06-15T14:02:00","date_gmt":"2021-06-15T11:02:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25852"},"modified":"2021-10-18T02:29:18","modified_gmt":"2021-10-17T23:29:18","slug":"bild-mit-bulletproof-library-in-php-hochladen-upload","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/bild-mit-bulletproof-library-in-php-hochladen-upload\/","title":{"rendered":"Bild mit Bulletproof Library in PHP hochladen Upload"},"content":{"rendered":"<p>Das Hochladen eines Images auf den Server ist eine h\u00e4ufige Aufgabe f\u00fcr Entwickler. Diese Aufgabe mag man schon Hunderte Male gemacht haben. W\u00e4hrend dieses Upload-Prozesses m\u00fcssen sich Entwickler um folgende Dinge k\u00fcmmern.<\/p>\n<ul>\n<li>\u00dcberpr\u00fcfen Sie, ob die hochgeladene Datei ein Bild ist<\/li>\n<li>Erstellen Sie ein Verzeichnis, in dem Bilder gespeichert werden<\/li>\n<li>Generieren Sie f\u00fcr jedes Bild einen eindeutigen Namen, damit es das vorhandene Bild mit demselben Namen nicht ersetzt.<\/li>\n<li>F\u00fcgen Sie optional eine Validierung f\u00fcr die Dimension eines Bildes hinzu. Wenn ein hochgeladenes Bild eine gr\u00f6\u00dfere Dimension als angegeben hat, wird ein Fehler ausgegeben.<\/li>\n<\/ul>\n<p>Dies sind die empfohlenen \u00dcberpr\u00fcfungen, die ein Entwickler beim Schreiben von Code befolgen sollte. F\u00fcr all diese Schritte kann man Bedingungen in den Code schreiben. Aber es wird einige Arbeit erfordern und der Code wird langwierig.<\/p>\n<p>Ich werde empfehlen, die <a href=\"https:\/\/github.com\/samayo\/bulletproof\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bulletproof-<\/a> Bibliothek zu verwenden, die alle diese Schritte f\u00fcr Sie unter der Haube erledigt. Es spart Ihnen die Zeit, Logik f\u00fcr jeden Schritt hinzuzuf\u00fcgen und die Anzahl der Zeilen Ihres Codes zu reduzieren.<\/p>\n<p>Bulletproof ist ein PHP-sicherer Bild-Uploader mit einer netten API. Wir haben diese Bibliothek f\u00fcr unser Projekt ausprobiert und sind mit dem Endergebnis sehr zufrieden. Aus diesem Grund habe ich beschlossen, unseren Lesern ein Wort \u00fcber diese Bibliothek zu geben.<\/p>\n<p>Die Bulletproof-Bibliothek hat die folgenden Funktionen in ihrem Kern, die sie sicherer machen.<\/p>\n<ul>\n<li>Verwendet exif_imagetype(), um den wahren Bild-Mime (.extension) zu erhalten<\/li>\n<li>Verwendet getimagesize(), um zu \u00fcberpr\u00fcfen, ob das Bild eine g\u00fcltige H\u00f6he \/ Breite in Pixeln hat.<\/li>\n<li>Ges\u00e4uberte Bildnamen, strenge Ordnerberechtigungen und mehr\u2026<\/li>\n<\/ul>\n<p>Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie Bilder in PHP mithilfe der Bulletproof-Bibliothek hochladen.<\/p>\n<h3>Einstieg<\/h3>\n<p>Um mit der Bulletproof-Bibliothek zu beginnen, installieren Sie sie mit dem folgenden Composer-Befehl. Stellen Sie sicher, dass <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> auf dem System installiert ist.<\/p>\n<pre><code>composer require samayo\/bulletproof:4.0.*<\/code><\/pre>\n<p>Erstellen Sie als N\u00e4chstes ein einfaches HTML-Formular mit Dateieingabe und Senden-Schaltfl\u00e4che.<\/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\/*\" required \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Upload\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Bild mit der Bulletproof Library hochladen<\/h3>\n<p>Wir sind mit einer Bibliothek und einem HTML-Formular ausgestattet. F\u00fcgen wir nun einen von der Bibliothek bereitgestellten Code hinzu, der ein Bild auf den Server hochl\u00e4dt.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$file = new BulletproofImage($_FILES);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$file-&gt;setLocation('uploads');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if ($file[\"image\"]) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload = $file-&gt;upload();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($upload) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $upload-&gt;getFullPath();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $file-&gt;getError();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Du bist fertig. Fahren Sie fort und testen Sie es. Ihre Bilder werden im Ordner \u201eUploads&#8220; mit einem eindeutigen Namen gespeichert. Der Benutzer kann diesen Ort mit etwas anderem \u00e4ndern.<\/p>\n<p>Wenn Sie versuchen, andere Dateien als Bilder hochzuladen, erhalten Sie eine Fehlermeldung. Nur f\u00fcr den Fall, dass Sie auch die Dimension festlegen m\u00f6chten, f\u00fcgen Sie die folgende Anweisung in den obigen Code ein.<\/p>\n<pre><code>$file-&gt;setDimension(600, 400);<\/code><\/pre>\n<p>Hier ist &#8218;600&#8216; die Bildbreite und &#8218;400&#8216; die H\u00f6he eines Bildes. Passen Sie die Werte gem\u00e4\u00df Ihren Anforderungen an.<\/p>\n<h3>Laden Sie mehrere Bilder mit der Bulletproof Library hoch<\/h3>\n<p>M\u00f6glicherweise m\u00f6chten Sie mit dieser Bibliothek mehrere Bilder auf einen Server hochladen. Es erfordert eine kleine \u00c4nderung im obigen Code. Sie m\u00fcssen der Dateieingabe ein &#8218;multiple&#8216;-Attribut hinzuf\u00fcgen. Verwenden Sie au\u00dferdem das Array-Format f\u00fcr den Namen der Dateieingabe. Danach durchlaufen wir jedes Bild und laden es wie folgt auf den Server hoch.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\u00a0\u00a0\u00a0for($i = 0; $i &lt; count($_FILES['image']['name']); $i++) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_file = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"name\" =&gt; $_FILES['image']['name'][$i],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"type\" =&gt; $_FILES['image']['type'][$i],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"tmp_name\" =&gt; $_FILES['image']['tmp_name'][$i],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"error\" =&gt; $_FILES['image']['error'][$i],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"size\" =&gt; $_FILES['image']['size'][$i],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$file = new BulletproofImage($arr_file);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$file-&gt;setLocation('uploads');\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload = $file-&gt;upload();\n\u00a0\u00a0\u00a0\u00a0}\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=\"image[]\" accept=\"image\/*\" multiple required \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Upload\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Das ist es! Ich hoffe, Sie verstehen, wie Sie ein Bild \u00fcber die Bulletproof-Bibliothek hochladen. Bitte teilen Sie Ihre Gedanken und Vorschl\u00e4ge im Kommentarbereich unten mit.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\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<li><a href=\"https:\/\/themewp.inform.click\/de\/so-optimieren-sie-das-bild-beim-hochladen-in-php\/\" title=\"So optimieren Sie das Bild beim Hochladen in PHP\">So optimieren Sie das Bild beim Hochladen in PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/bildgrose-in-php-mit-tinypng-andern\/\" title=\"Bildgr\u00f6\u00dfe in PHP mit TinyPNG \u00e4ndern\">Bildgr\u00f6\u00dfe in PHP mit TinyPNG \u00e4ndern<\/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>Bulletproof ist eine Bibliothek zum sicheren Hochladen von Bildern in PHP. In diesem Artikel untersuchen wir, wie Sie diese Bibliothek in unserer App installieren und verwenden<\/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":[272],"tags":[845],"class_list":["post-25852","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\/25852","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=25852"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25852\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}