{"id":23748,"date":"2021-05-05T15:26:00","date_gmt":"2021-05-05T12:26:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23748"},"modified":"2021-10-18T02:46:39","modified_gmt":"2021-10-17T23:46:39","slug":"so-laden-sie-bilder-ueber-ftp-in-laravel-auf-einen-anderen-server-hoch","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-laden-sie-bilder-ueber-ftp-in-laravel-auf-einen-anderen-server-hoch\/","title":{"rendered":"So laden Sie Bilder \u00fcber FTP in Laravel auf einen anderen Server hoch"},"content":{"rendered":"<p>M\u00f6chten Sie Ihre Dateien von Ihrer Laravel-Anwendung \u00fcber FTP auf einen anderen Server hochladen? Laravel verf\u00fcgt \u00fcber die integrierte Unterst\u00fctzung f\u00fcr das Hochladen von Dateien auf einen externen Server oder in die Cloud. In diesem Handbuch zeigen wir Ihnen, wie Sie Dateien (Bilder) \u00fcber FTP auf der Laravel-Website auf einen anderen Server hochladen.<\/p>\n<p>Das Hosten von Bildern auf einem anderen Server kann dazu beitragen, die Geschwindigkeit Ihrer Website zu verbessern. Diese Technik ist eine Art parallele Verbindung zwischen einem Webbrowser und den Servern. Es reduziert die Last von einem Server, da der Browser f\u00fcr Bilder einen anderen Server aufruft.<\/p>\n<p><a href=\"https:\/\/laravel.com\/docs\/5.6\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Filesystem<\/a> bietet eine bequeme M\u00f6glichkeit, unsere Dateien in der Cloud oder auf einem externen Server zu verwalten. Der Benutzer kann verschiedene Laravel-Speicheranbieter wie S3, Rackspace, FTP oder SFTP ausw\u00e4hlen. Werfen wir einen Blick auf das Hochladen von Laravel-Dateien mit dem FTP-Treiber.<\/p>\n<h3>Hochladen von Dateien auf einen anderen Server \u00fcber den FTP-Treiber<\/h3>\n<p>Um zu beginnen, sollten Sie die Details Ihres FTP-Hosts, FTP-Benutzernamens und FTP-Passworts kennen. Sobald Sie mit den Details fertig sind, \u00f6ffnen Sie die <code>.env<\/code>Dateien und f\u00fcgen Sie die Details wie folgt hinzu:<\/p>\n<pre><code>FTP_HOST=YOUR_FTP_HOST_VALUE\nFTP_USERNAME=YOUR_FTP_USERNAME_VALUE\nFTP_PASSWORD=YOUR_FTP_PASSWORD_VALUE<\/code><\/pre>\n<p>Stellen Sie sicher, dass Sie die Platzhalter durch die tats\u00e4chlichen Werte ersetzen. Als n\u00e4chstes \u00f6ffnen Sie die <code>config\/filesystems.php<\/code>Datei und f\u00fcgen die &#8218;ftp&#8216;-Konfiguration zum &#8218;disks&#8216;-Array hinzu.<\/p>\n<p><strong>config\/filesystems.php<\/strong><\/p>\n<pre><code>&lt;?php\nreturn [\n\u00a0\u00a0\u00a0\u00a0......\n\u00a0\u00a0\u00a0\u00a0'disks' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0......\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'ftp' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'driver' =&gt; 'ftp',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'host' =&gt; env('FTP_HOST'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'username' =&gt; env('FTP_USERNAME'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'password' =&gt; env('FTP_PASSWORD'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'root' =&gt; 'DIR_PATH_TO_WHERE_IMAGE_STORE' \/\/ for example: \/var\/www\/html\/dev\/images\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\n];<\/code><\/pre>\n<p>Ersetzen Sie DIR_PATH_TO_WHERE_IMAGE_STORE durch den tats\u00e4chlichen Pfad, in dem Sie Bilder speichern m\u00fcssen. Wenn wir beispielsweise einen Ordner namens &#8218;images&#8216; haben und der Pfad zu diesem Ordner \/var\/www\/html\/dev\/images ist, wird dieser Pfad als Wert f\u00fcr &#8218;root&#8216; im obigen Array verwendet.<\/p>\n<p>F\u00fcr das Hochladen von Dateien \u00fcber FTP ben\u00f6tigen wir ein Formular, in dem ein Benutzer das Bild einreichen kann. F\u00fcgen Sie den folgenden Code in Ihre Ansichtsdatei ein.<\/p>\n<pre><code>&lt;form action=\"{{ url('PASS_ACTION_URL_HERE') }}\" method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"exampleInputFile\"&gt;File input&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"profile_image\" id=\"exampleInputFile\" multiple \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" class=\"btn btn-default\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Sie sollten die PASS_ACTION_URL_HERE durch Ihre tats\u00e4chliche Route ersetzen. Da wir einen Laravel-Speicher zum Hochladen von Dateien verwenden, muss der Benutzer Facade wie folgt zur Controller-Datei hinzuf\u00fcgen:<\/p>\n<pre><code>use IlluminateSupportFacadesStorage;<\/code><\/pre>\n<p>Schlie\u00dflich w\u00e4re Ihr Controller-Funktionscode wie folgt:<\/p>\n<pre><code>public function store(Request $request)\n{\n\u00a0\u00a0\u00a0\u00a0if($request-&gt;hasFile('profile_image')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get filename with extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filenamewithextension = $request-&gt;file('profile_image')-&gt;getClientOriginalName();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get filename without extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get file extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$extension = $request-&gt;file('profile_image')-&gt;getClientOriginalExtension();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/filename to store\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filenametostore = $filename.'_'.uniqid().'.'.$extension;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/Upload File to external server\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Storage::disk('ftp')-&gt;put($filenametostore, fopen($request-&gt;file('profile_image'), 'r+'));\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/Store $filenametostore in the database\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0return redirect('images')-&gt;with('status', \"Image uploaded successfully.\");\n}<\/code><\/pre>\n<p>&#8218;profile_image&#8216; ist der Name unserer Dateieingabe. Wir erstellen den eindeutigen Namen unserer Datei und laden sie dann auf einen externen Server hoch. Beachten Sie, dass wir die Methode Storage::disk(&#8218;ftp&#8216;) verwendet haben. Diese Funktion w\u00fcrde unsere Datei in dem in der Konfiguration definierten Pfad speichern. Ein Benutzer sollte den Wert &#8218;$filenametostore&#8216; in Ihrer Datenbank speichern.<\/p>\n<h3>Bild abrufen oder l\u00f6schen<\/h3>\n<p>Wir haben es so offensichtlich mit den Bildern zu tun, dass wir diese Bilder auf der Website anzeigen m\u00fcssen. Da wir diese Bilder auf dem bekannten externen Server speichern, sollte ein Benutzer den HTTP-Pfad des Ordners kennen, in dem wir die Bilder speichern. Es kann so etwas wie YOUR_DOMAIN_URL\/images\/ sein. In der Controller-Methode sollten wir den Namen des Bildes in der Datenbank speichern. Unser HTML-img-Tag sieht also wie folgt aus:<\/p>\n<pre><code>&lt;img src=\"YOUR_DOMAIN_URL\/images\/FILE_NAME\" \/&gt;<\/code><\/pre>\n<p>Hier ist FILE_NAME der Name Ihres Bildes, der in der Datenbank gespeichert ist. Der Benutzer kann die Datei wie folgt l\u00f6schen:<\/p>\n<pre><code>Storage::disk('ftp')-&gt;delete('FILE_NAME');<\/code><\/pre>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-laden-sie-eine-datei-mit-dem-laravel-dateisystem-auf-s3-hoch\/\" title=\"So laden Sie eine Datei mit dem Laravel-Dateisystem auf S3 hoch\">So laden Sie eine Datei mit dem Laravel-Dateisystem auf S3 hoch<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/hochladen-von-dateien-auf-amazon-s3-mit-aws-php-sdk\/\" title=\"Hochladen von Dateien in Amazon S3 mit AWS PHP SDK\">Hochladen von Dateien in Amazon S3 mit AWS PHP SDK<\/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 untersuchen wir, wie Sie das Bild \u00fcber FTP in Laravel auf einen anderen Server hochladen. Das Hosten von Bildern auf einem externen Server kann die Bandbreite auf einem Server reduzieren und dazu beitragen, die Site-Geschwindigkeit zu verbessern.<\/p>\n","protected":false},"author":1,"featured_media":21643,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[496],"tags":[845],"class_list":["post-23748","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/23748","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=23748"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/23748\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21643"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=23748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=23748"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=23748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}