{"id":177,"date":"2018-03-18T17:41:29","date_gmt":"2018-03-18T16:41:29","guid":{"rendered":"http:\/\/test.ekiwi.de\/?p=177"},"modified":"2018-03-18T17:41:29","modified_gmt":"2018-03-18T16:41:29","slug":"dateiupload-mit-php","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/177\/dateiupload-mit-php\/","title":{"rendered":"Dateiupload mit PHP"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/177\/dateiupload-mit-php\/#Das_HTML-Formular\" >Das HTML-Formular<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/177\/dateiupload-mit-php\/#Erstellen_des_PHP-Scripts\" >Erstellen des PHP-Scripts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ekiwi.de\/index.php\/177\/dateiupload-mit-php\/#Hinweise\" >Hinweise<\/a><\/li><\/ul><\/nav><\/div>\n<p>n diesem Tutorial wird beschrieben wie Sie mit PHP einen Dateiupload durchf\u00fchren k\u00f6nnen. Im ersten Schritt wird ein entsprechendes HTML-Formular erstellt. Anschlie\u00dfend erfolgt die Programmierung des PHP-Scriptes.<\/p>\n<p><!--more--><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Das_HTML-Formular\"><\/span>Das HTML-Formular<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Der erste Schritt besteht darin ein HTML-Formular zu erstellen und in diesem ein Upload-Feld einzubauen. Dies gescheiht indem Sie in das Formular ein Input-Feld vom Typ &#8222;file&#8220; einf\u00fcgen: <\/p>\n<pre>\r\n&lt;form action=&quot;php-script.php&quot; method=&quot;post&quot; enctype=&quot;multipart\/form-data&quot;&gt;\r\n&lt;p&gt;W\u00e4hlen Sie eine Datei aus:&lt;br&gt;\r\n&lt;input name=&quot;Datei&quot; type=&quot;file&quot; size=&quot;50&quot;&gt;\r\n&lt;\/p&gt;\r\n&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;Senden&quot;&gt;\r\n&lt;\/form&gt;\r\n<\/pre>\n<p>Wichtig ist ebenfalls die Angabe &#8222;enctype=&#8220;multipart\/form-data&#8220; im Form-Tag.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Erstellen_des_PHP-Scripts\"><\/span>Erstellen des PHP-Scripts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Legen Sie nun eine neue PHP-Datei an, dies ist die Seite auf der das Action-Attribut des Formulars zeigt.<\/p>\n<pre>\r\n&lt;?php\r\n  if (isset($_FILES['Datei']) and !$_FILES['Datei']['error'] and ($_FILES['Datei']['name'] != '.htaccess'))\r\n  {\r\n     if ($_FILES['Datei']['size'] &gt; 500000) \r\n     {\r\n          echo &quot;Datei ist zu gro\u00df&quot;; \r\n     }               \r\n     move_uploaded_file($_FILES['Datei']['tmp_name'], &quot;dateiupload\/&quot; . $_FILES['Datei']['name']);\r\n     echo &quot;Datei wurde erfolgreich hochgeladen und liegt im Verzeichnis \\&quot;Dateiupload\\&quot;&quot;;\r\n              \r\n  } else\r\n  {\r\n     echo &quot;Fehler beim Upload der Datei&quot;;       \r\n  }\r\n?&gt;\r\n<\/pre>\n<p>Was passiert hier im einzelnen?<\/p>\n<p>Zugriff auf die hochgeladene Datei erhalten sie \u00fcber die Variable $_FILES[&#8218;FeldName&#8216;]. Sie k\u00f6nnen auf diese Weise beliebig viele Uploadfelder in Ihr Formular einf\u00fcgen und auf die Eigenschaften zugreifen. Sie k\u00f6nnen auf folgende Informationen der Datei zugreifen: <\/p>\n<pre>\r\n$_FILES['FeldName']['name'] \tDer urspr\u00fcngliche Dateiname auf dem Computer des Benutzers.\r\n$_FILES['FeldName']['type'] \tDer Mime-Type der Datei, falls der Browser diese \r\n\t\t\t\t\t\t\t\tInformation zur Verf\u00fcgung stellt. Ein Beispiel w\u00e4re \"image\/gif\".\r\n$_FILES['FeldName']['size'] \tDie Gr\u00f6\u00dfe der hochgeladenen Datei in Bytes.\r\n$_FILES['FeldName']['tmp_name'] Der tempor\u00e4re Dateiname, unter dem die \r\n\t\t\t\t\t\t\t\thochgeladene Datei auf dem Server gespeichert wurde.\r\n$_FILES['FeldName']['error'] \tFehlercodes\r\n<\/pre>\n<p>In Zeile 2 wird zuerst gepr\u00fcft ob eine Datei \u00fcbertragen wurde oder ein Fehler auftrat. Ebenfalls wird verhindert das htaccess-Dateien hochgeladen werden k\u00f6nnen.<\/p>\n<p>In Zeile 4 wird die maximale Dateigr\u00f6\u00dfe \u00fcberpr\u00fcft, hier k\u00f6nnen Sie die maximale Dateigr\u00f6\u00dfe in Bytes festlegen (1 MB = 1024 KB = 1048576 Byte).<\/p>\n<p>Ist auch diese \u00dcberpr\u00fcfung erfolgreich wird die Datei in das Verzeichnis &#8222;dateiupload&#8220; verschoben und eine Meldung ausgegeben. Damit dies funktioniert m\u00fcssen Sie das Verzeichnis vor dem Test des Scriptes auf Ihrem Webspace anlegen und dem Verzeichnis die Rechte 777 zuweisen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2018\/03\/dateirechte.png\" alt=\"\" width=\"323\" height=\"196\" class=\"alignnone size-full wp-image-178\" srcset=\"\/wp-content\/uploads\/2018\/03\/dateirechte.png 323w, \/wp-content\/uploads\/2018\/03\/dateirechte-300x182.png 300w\" sizes=\"auto, (max-width: 323px) 100vw, 323px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Hinweise\"><\/span>Hinweise<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bedenken Sie, dass Benutzer hier beliebige Dateien hochladen k\u00f6nnen, wie zum Beispiel Scriptdateien in denen b\u00f6sartiger Code eingebracht sein kann. Eine M\u00f6glichkeit w\u00e4re den Upload von bestimmten Dateienden zu \u00fcberpr\u00fcfen oder den Zugriff auf das Verzeichnis f\u00fcr den normalen Webbenutzer zu sperren, z.B. mit htaccess.<\/p>","protected":false},"excerpt":{"rendered":"<p>n diesem Tutorial wird beschrieben wie Sie mit PHP einen Dateiupload durchf\u00fchren k\u00f6nnen. Im ersten Schritt wird ein entsprechendes HTML-Formular<\/p>\n","protected":false},"author":1,"featured_media":57,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[14],"tags":[32,31],"class_list":["post-177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-dateiupload","tag-php"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=177"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/177\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/57"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}