CakePHP 3 Как создать свой собственный индикатор загрузки файла без плагина, пожалуйста - PullRequest
0 голосов
/ 21 сентября 2019

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

FilesController.php

public function add() {
    $file = $this->Files->newEntity();
    if ($this->request->is('post')) {
        $myname = $this->request->getData()['file']['name'];
        $mytmp = $this->request->getData()['file']['tmp_name'];
        $myext = substr(strrchr($myname, '.'), 1);
        $mypath = "img/".Security::hash($myname).".".$myext;
        $file = $this->Files->newEntity();
        $path = explode('/', $mypath);
        $file->name = $myname;
        $file->path = $path[1];
        $file->create_at = date('Y-m-d H:i:s');
        if (move_uploaded_file($mytmp, WWW_ROOT.$mypath)) {
            $this->Files->save($file);
            $this->Flash->success(__('The file has been saved.'));
            return $this->redirect(['action' => 'index']);
        }
        $this->Flash->error(__('The file could not be saved. Please, try again.'));
    }
    $this->set(compact('file'));
}

Просмотр add.ctp

<nav class="large-3 medium-4 columns" id="actions-sidebar">
 <ul class="side-nav">
     <li class="heading"><?= __('Actions') ?></li>
     <li><?= $this->Html->link(__('List Files'), ['action' => 'index']) ?></li>
 </ul>
</nav>
<div class="files form large-9 medium-8 columns content">
 <?= $this->Form->create(null, ['enctype' => 'multipart/form-data']) ?>
  <fieldset>
    <legend><?= __('Add File') ?></legend>
    <?php
        echo $this->Form->file('file');

    ?>
   </fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
</div>
...