{"id":24286,"date":"2021-05-15T11:54:00","date_gmt":"2021-05-15T08:54:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24286"},"modified":"2021-10-18T02:44:07","modified_gmt":"2021-10-17T23:44:07","slug":"so-uebertragen-sie-dateien-in-php-auf-einen-remote-server","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-uebertragen-sie-dateien-in-php-auf-einen-remote-server\/","title":{"rendered":"So \u00fcbertragen Sie Dateien in PHP auf einen Remote-Server"},"content":{"rendered":"<p>Das Speichern von Dateien oder Bildern auf einem externen Server ist heutzutage ein g\u00e4ngiges Verhalten. Die Leute verwenden Cloud-Speicher wie AWS, Azure, Google Cloud, Backblaze oder ihren eigenen Remote-Server, um die Dateien zu speichern. In diesem Szenario speichert der Benutzer Dateien auf einem anderen Server und ruft sie \u00fcber den Link auf seinem Anwendungsserver auf. Dies hat den Vorteil, dass Bandbreite auf einem Server gespart wird, was zu einer besseren Serverleistung f\u00fchrt.<\/p>\n<p>In der Vergangenheit haben wir bei der Arbeit an einem Kundenprojekt diese Technik zum Speichern von Bildern auf einem Remote-Server angewendet. Was der Kunde wollte, war, Bilder an seinen eigenen externen Server zu senden und ihn bei Bedarf von einer Anwendung aus aufzurufen. In diesem Fall mussten wir den Remote-Image-Pfad in der Datenbank speichern, nachdem wir ihn auf einen Remote-Server hochgeladen haben.<\/p>\n<p>In diesem Artikel zeigen wir Ihnen, wie Sie Dateien per FTP auf einen Remote-Server in PHP \u00fcbertragen. F\u00fcr dieses Tutorial verwenden wir Bilder zum Hochladen. Der Benutzer kann jede Art von Datei nach seinen Anforderungen ausw\u00e4hlen.<\/p>\n<h3>Einstieg<\/h3>\n<p>Um fortzufahren, sollten Sie die FTP-Zugangsdaten Ihres Servers haben. Eine weitere Voraussetzung ist der Composer. Stellen Sie sicher, dass Sie <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> auf Ihrem System installiert haben. Sie werden ein Paket namens <a href=\"https:\/\/github.com\/thephpleague\/flysystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Flysystem verwenden,<\/a> das Composer f\u00fcr die Installation ben\u00f6tigt.<\/p>\n<p>\u00d6ffnen Sie das Terminal in Ihrem Projektstammverzeichnis und f\u00fchren Sie den folgenden Befehl aus.<\/p>\n<pre><code>composer require league\/flysystem<\/code><\/pre>\n<p>Erstellen Sie nach der Installation ein HTML-Formular mit Dateieingabe und Senden-Schaltfl\u00e4che. Dieses Formular wird verwendet, um das Bild zu durchsuchen und an den Server zu senden.<\/p>\n<pre><code>&lt;form method=\"post\" action=\"upload.php\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"image\" \/&gt;&lt;br&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Dateien auf Remote-Server \u00fcbertragen<\/h3>\n<p>Sie haben die Flysystem-Bibliothek installiert und auch ein HTML-Formular erstellt. Als n\u00e4chstes m\u00fcssen Sie das Bild aus der Dateieingabe nehmen und an einen Remote-Server senden. Ihr <code>upload.php<\/code>wird den folgenden Code enthalten.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nuse LeagueFlysystemFilesystem;\nuse LeagueFlysystemAdapterFtp as Adapter;\n\u00a0\nif(isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if(isset($_FILES['image']['name']) &amp;&amp; !empty($_FILES['image']['name'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filesystem = new Filesystem(new Adapter([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'host' =&gt; 'HOST_NAME_HERE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'username' =&gt; 'USERNAME_HERE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'password' =&gt; 'PASSWORD_HERE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]));\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$stream = fopen($_FILES['image']['tmp_name'], 'r+');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filesystem-&gt;putStream('public_html\/images\/'.$_FILES['image']['name'], $stream);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (is_resource($stream)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fclose($stream);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Image uploaded on external server successfully.\";\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Ersetzen Sie die Platzhalter durch die tats\u00e4chlichen Werte. Hier speichern wir Bilder im <code>public_html\/images<\/code>Verzeichnis. Sie k\u00f6nnen diesen Pfad nach Ihren W\u00fcnschen anpassen. Im obigen Code verbindet sich Flysystem \u00fcber FTP mit Ihrem Server, liest den Bildinhalt und legt das Bild auf den angegebenen Pfad.<\/p>\n<p>Wir hoffen, dass Sie wissen, wie Sie Dateien in PHP auf den Remote-Server \u00fcbertragen. Mit Flysystem k\u00f6nnen Sie auch Dateien auf AWS S3, Azure, Dropbox usw. \u00fcbertragen. Weitere Informationen zu diesem Paket finden Sie in der <a href=\"https:\/\/flysystem.thephpleague.com\/v1\/docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">offiziellen Dokumentation<\/a>.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-laden-sie-bilder-ueber-ftp-in-laravel-auf-einen-anderen-server-hoch\/\" title=\"So laden Sie Bilder \u00fcber FTP in Laravel auf einen anderen Server hoch\">So laden Sie Bilder \u00fcber FTP in Laravel auf einen anderen Server 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 zeigen wir Ihnen, wie Sie Dateien in PHP auf einen Remote-Server \u00fcbertragen. Das Speichern von Dateien auf einem Remote-Server und deren Aufruf vom Anwendungsserver spart Bandbreite<\/p>\n","protected":false},"author":1,"featured_media":21909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[272],"tags":[845],"class_list":["post-24286","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\/24286","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=24286"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24286\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=24286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}