{"id":25388,"date":"2021-06-06T11:22:00","date_gmt":"2021-06-06T08:22:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25388"},"modified":"2021-10-18T02:33:51","modified_gmt":"2021-10-17T23:33:51","slug":"so-implementieren-sie-chunk-upload-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-implementieren-sie-chunk-upload-in-php\/","title":{"rendered":"So implementieren Sie Chunk-Upload in PHP"},"content":{"rendered":"<p>Ver\u00f6ffentlicht in <a href=\"https:\/\/artisansweb.net\/category\/php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/p>\n<p>K\u00fcrzlich fragte einer unserer Leser nach dem Hochladen von Chunks in PHP. Sie m\u00f6chten gro\u00dfe Dateien schnell und zuverl\u00e4ssig hochladen. Durch die Implementierung von Chunk-Upload k\u00f6nnen Sie gro\u00dfe Dateien einfach auf einen Server hochladen\/verschieben. In diesem Artikel werde ich einen PHP-Code f\u00fcr das Hochladen von Bl\u00f6cken schreiben, der beim Hochladen\/Verschieben gro\u00dfer Dateien n\u00fctzlich sein kann.<\/p>\n<p>Manchmal m\u00fcssen Sie in der Webanwendung mit gro\u00dfen Dateien umgehen. Es kann sich um Video- oder ZIP-Dateien handeln, die an einen bestimmten Ort auf dem Server verschoben werden m\u00fcssen.<\/p>\n<p>Es ist sehr einfach, Chunk-Upload in PHP zu implementieren. Im folgenden Code verschieben wir die Quelldatei in das Verzeichnis &#8218;uploads&#8216;. Wir lesen die Datei in Bl\u00f6cken von 256 Bytes und schreiben sie in die Zieldatei. Dieser Vorgang wird fortgesetzt, bis das Skript alle Bytes aus der Quelldatei liest und diese Bytes in die Zieldatei schreibt. F\u00fcr diese Operation verwende ich native PHP-Funktionen \u2013 fopen, fread, fwrite und fseek.<\/p>\n<p>Angenommen, Sie haben eine &#8218;video.mp4&#8216;-Datei, die Sie in den Ordner &#8218;uploads&#8216; verschieben m\u00f6chten. Unten ist der Code, der eine Datei in Bl\u00f6cken in den Zielordner verschiebt.<\/p>\n<pre><code>&lt;?php\n$source = 'video.mp4';\n$orig_file_size = filesize($source);\n$destination = 'uploads\/video.mp4';\n\u00a0\n$chunk_size = 256; \/\/ chunk in bytes\n$upload_start = 0;\n\u00a0\n$handle = fopen($source, \"rb\");\n\u00a0\n$fp = fopen($destination, 'w');\n\u00a0\nwhile($upload_start &lt; $orig_file_size) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$contents = fread($handle, $chunk_size);\n\u00a0\u00a0\u00a0\u00a0fwrite($fp, $contents);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$upload_start += strlen($contents);\n\u00a0\u00a0\u00a0\u00a0fseek($handle, $upload_start);\n}\n\u00a0\nfclose($handle);\nfclose($fp);\n\u00a0\necho \"File uploaded successfully.\";<\/code><\/pre>\n<p>Das ist es! So einfach ist es, Chunk-Upload in PHP zu implementieren. Ich w\u00fcrde gerne Ihre Gedanken oder 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\/hochladen-von-dateien-auf-amazon-s3-mit-aws-php-sdk\/\" title=\"Hochladen von Dateien auf Amazon S3 mit AWS PHP SDK\">Hochladen von Dateien auf Amazon S3 mit AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/datei-upload-per-drag-drop-mit-javascript-und-php\/\" title=\"Datei-Upload per Drag-and-Drop mit JavaScript und PHP\">Datei-Upload per Drag-and-Drop mit JavaScript und PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-uebertragen-sie-dateien-in-php-auf-einen-remote-server\/\" title=\"So \u00fcbertragen Sie Dateien in PHP auf einen Remote-Server\">So \u00fcbertragen Sie Dateien in PHP auf einen Remote-Server<\/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 Chunk-Uploads in PHP durchf\u00fchren. Mit einer Chunking-Technik k\u00f6nnen gro\u00dfe Dateien schnell und zuverl\u00e4ssig hochgeladen werden.<\/p>\n","protected":false},"author":1,"featured_media":21646,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[272],"tags":[845],"class_list":["post-25388","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\/25388","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=25388"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21646"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}