✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como implementar o upload de blocos em PHP

37

Postado em PHP

Recentemente, um de nossos leitores perguntou sobre o upload de partes em PHP. Eles desejam fazer upload de arquivos grandes de maneira rápida e confiável. Ao implementar o upload de blocos, você pode fazer upload / mover arquivos grandes em um servidor facilmente. Neste artigo, irei escrever um código PHP para upload de partes que pode ser útil para upload / movimentação de arquivos grandes.

Às vezes, no aplicativo da web, você precisa lidar com arquivos grandes. Podem ser arquivos de vídeo ou zip que precisam ser movidos para um local específico no servidor.

É muito fácil implementar o upload de partes em PHP. No código abaixo, estamos movendo o arquivo fonte para dentro do diretório ‘uploads’. Lemos o arquivo em blocos de 256 bytes e o gravamos no arquivo de destino. Esse processo continuará até que o script leia todos os bytes do arquivo de origem e grave esses bytes no arquivo de destino. Para esta operação, estou usando funções nativas do PHP – fopen, fread, fwrite e fseek.

Digamos que você tenha um arquivo ‘video.mp4’ que deseja mover para a pasta ‘uploads’. Abaixo está o código que move um arquivo em pedaços para a pasta de destino.

<?php
$source = 'video.mp4';
$orig_file_size = filesize($source);
$destination = 'uploads/video.mp4';
 
$chunk_size = 256; // chunk in bytes
$upload_start = 0;
 
$handle = fopen($source, "rb");
 
$fp = fopen($destination, 'w');
 
while($upload_start < $orig_file_size) {
 
    $contents = fread($handle, $chunk_size);
    fwrite($fp, $contents);
 
    $upload_start += strlen($contents);
    fseek($handle, $upload_start);
}
 
fclose($handle);
fclose($fp);
 
echo "File uploaded successfully.";

É isso! É muito simples implementar o upload de partes em PHP. Eu gostaria de ouvir suas opiniões ou sugestões na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação