WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Как реализовать загрузку фрагментов в PHP

205

Опубликовано в PHP

Недавно один из наших читателей спросил о загрузке чанков в PHP. Они хотят загружать большие файлы быстро и надежно. Реализовав загрузку фрагментов, вы можете легко загружать / перемещать большие файлы на сервер. В этой статье я напишу PHP-код для загрузки фрагментов, который может быть полезен для загрузки / перемещения больших файлов.

Иногда в веб-приложении нужно иметь дело с большими файлами. Это могут быть видео, zip-файлы, которые необходимо переместить в определенное место на сервере.

Реализовать загрузку фрагментов в PHP очень просто. В приведенном ниже коде мы перемещаем исходный файл в каталог «uploads». Мы читаем файл кусками по 256 байт и записываем его в целевой файл. Этот процесс будет продолжаться до тех пор, пока сценарий не прочитает все байты из исходного файла и не запишет эти байты в целевой файл. Для этой операции я использую собственные функции PHP – fopen, fread, fwrite и fseek.

Допустим, у вас есть файл video.mp4, который вы хотите переместить в папку uploads. Ниже приведен код, который перемещает файл по частям в папку назначения.

<?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.";

Это оно! Очень просто реализовать загрузку фрагментов в PHP. Я хотел бы услышать ваши мысли или предложения в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее