{"id":29049,"date":"2021-06-06T11:29:00","date_gmt":"2021-06-06T08:29:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29049"},"modified":"2021-10-17T16:26:33","modified_gmt":"2021-10-17T13:26:33","slug":"como-implementar-la-carga-de-fragmentos-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-implementar-la-carga-de-fragmentos-en-php\/","title":{"rendered":"C\u00f3mo implementar la carga de fragmentos en PHP"},"content":{"rendered":"<p>Publicado en <a href=\"https:\/\/artisansweb.net\/category\/php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/p>\n<p>Recientemente, uno de nuestros lectores pregunt\u00f3 sobre la carga de fragmentos en PHP. Quieren cargar archivos grandes de una manera r\u00e1pida y confiable. Al implementar la carga de fragmentos, puede cargar \/ mover archivos grandes en un servidor f\u00e1cilmente. En este art\u00edculo, escribir\u00e9 un c\u00f3digo PHP para la carga de fragmentos que puede ser \u00fatil para cargar \/ mover archivos grandes.<\/p>\n<p>A veces, en la aplicaci\u00f3n web, debe tratar con archivos grandes. Pueden ser archivos zip de video que deben moverse a una ubicaci\u00f3n espec\u00edfica en el servidor.<\/p>\n<p>Es muy f\u00e1cil implementar la carga de fragmentos en PHP. En el siguiente c\u00f3digo, estamos moviendo el archivo fuente dentro del directorio &#8216;uploads&#8217;. Leemos el archivo en trozos de 256 bytes y lo escribimos en el archivo de destino. Este proceso continuar\u00e1 hasta que el script lea todos los bytes del archivo de origen y escriba estos bytes en el archivo de destino. Para esta operaci\u00f3n, estoy usando funciones nativas de PHP: fopen, fread, fwrite y fseek.<\/p>\n<p>Supongamos que tiene un archivo &#8216;video.mp4&#8217; que desea mover a la carpeta &#8216;uploads&#8217;. A continuaci\u00f3n se muestra el c\u00f3digo que mueve un archivo en trozos a la carpeta de destino.<\/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>\u00a1Eso es! Es as\u00ed de simple implementar la carga de fragmentos en PHP. Me gustar\u00eda escuchar sus pensamientos o sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/cargar-archivos-en-amazon-s3-mediante-aws-php-sdk\/\" title=\"Cargar archivos en Amazon S3 mediante AWS PHP SDK\">Cargar archivos en Amazon S3 mediante AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/arrastrar-y-soltar-carga-de-archivos-usando-javascript-y-php\/\" title=\"Arrastrar y soltar carga de archivos usando JavaScript y PHP\">Arrastrar y soltar carga de archivos usando JavaScript y PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-transferir-archivos-a-un-servidor-remoto-en-php\/\" title=\"C\u00f3mo transferir archivos a un servidor remoto en PHP\">C\u00f3mo transferir archivos a un servidor remoto en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, le muestro c\u00f3mo cargar fragmentos en PHP. Usando una t\u00e9cnica de fragmentaci\u00f3n, se pueden cargar archivos grandes de manera r\u00e1pida y confiable.<\/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":[271],"tags":[849],"class_list":["post-29049","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=29049"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29049\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21646"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=29049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=29049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=29049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}