<h4>Последние файлы</h4> <form method="GET" action="/files"> <button type="submit" class="btn btn-warning">Поиск</button> <input type="search" name="search" class="text-input" maxlength="32" required> </form> <table class="table table-bordered table-condensed table-hover"> <tr> <th>Имя файла</th> <th>Автор</th> <th>Размер</th> <th>Дата загрузки</th> </tr> <?php foreach ($data['lastfiles'] as $file) { echo '<tr>'; echo '<td><a href="/files/' . \Helpers\Data::html($file['id']) . '">' . \Helpers\Data::html($file['file_name']) . '</a></td>'; echo '<td>' . \Helpers\Data::html($file['user_name']) . '</td>'; echo '<td>' . \Helpers\Data::html(\Helpers\Document::formatBytes($file['file_size'], '1')) . '</td>'; echo '<td>' . \Helpers\Data::html(date('d.m.Y', $file['upload_date'])) . '</td>'; echo '</tr>'; } ?> </table>
echo '</div>'; } elseif ($mimeType == 'audio/mp3' || $mimeType == 'audio/ogg' || $mimeType == 'audio/wav' || $mimeType == 'audio/aac') { echo '<audio class="audio-player" controls>'; echo '<source src="../../uploads/' . \Helpers\Data::html($data['fileinfo']['server_name']) . '">'; echo '</audio>'; } else { echo '<img class="img-responsive center-block" src="' . \Helpers\Url::templatePath() . '/images/no_preview.jpg">'; } ?> <ul class="file-properties"> <li><i class="fa fa-user"></i><?php echo \Helpers\Data::html($data['fileinfo']['user_name']); ?> </li> <li><i class="fa fa-hdd-o"></i><?php echo \Helpers\Data::html(\Helpers\Document::formatBytes($data['fileinfo']['file_size'], '1')); ?> </li> <li><i class="fa fa-calendar"></i><?php echo \Helpers\Data::html(date('d.m.Y', $data['fileinfo']['upload_date'])); ?> </li> <li><i class="fa fa-download"></i>Всего загрузок: <?php echo \Helpers\Data::html($data['fileinfo']['total_downloads']); ?> </li> <li><i class="fa fa-exclamation-triangle"></i><a class="make-appeal" href="">Пожаловаться</a></li> <?php if ($_SESSION['rf_user'] === 'admin') { echo '<li><i class="fa fa-times"></i><a class="delete-file" href="?fileaction=delete">Удалить</a></li>';
public function upload() { if (!isset($_POST['terms'])) { echo 'Перед загрузкой файлов необходимо прочитать и принять условия пользования.'; die; } if (empty($_FILES['uploadFile']['tmp_name']) && empty($_POST['remote_url'])) { echo 'Выберите файл для загрузки!'; die; } if (empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 52428800) { echo 'Размер файла превышает максимум!'; die; } if (!empty($_FILES['uploadFile']['tmp_name'])) { if ($_FILES['uploadFile']['error'] === UPLOAD_ERR_INI_SIZE || $_FILES['uploadFile']['error'] === UPLOAD_ERR_FORM_SIZE) { echo 'Размер файла превышает максимум!'; die; } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_PARTIAL) { echo 'Файл поврежден!'; die; } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_NO_FILE) { echo 'Файл не был загружен!'; die; } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_NO_TMP_DIR) { echo 'Отсутствует временная папка. Обратитесь к администратору.'; die; } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_CANT_WRITE) { echo 'Ошибка при записи файла. Обратитесь к администратору.'; die; } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_EXTENSION) { echo 'Загрузка файла была остановлена. Обратитесь к администратору.'; die; } $fileName = strtolower(str_replace(' ', '_', $_FILES['uploadFile']['name'])); $fileName = \Helpers\Data::toTranslite($fileName); $fileSize = $_FILES['uploadFile']['size']; } if (!empty($_POST['remote_url'])) { $checkURL = \Helpers\GUMP::is_valid($_POST, array('remote_url' => 'valid_url')); if (is_array($checkURL)) { echo $checkURL[0]; die; } $fileSize = \Helpers\SimpleCurl::remotefileSize($_POST['remote_url']); if (is_numeric($fileSize) == FALSE || $fileSize == 0) { echo 'Не удалось определить размер удаленного файла.'; die; } if ($fileSize > 52428800) { echo 'Размер удаленного файла превышает 50 МБ'; die; } $fileName = array_pop(explode('/', $_POST['remote_url'])); if (!preg_match('/.+\\.[a-z0-9]{2,}$/ui', $fileName)) { echo 'Неверный формат удаленного файла.'; die; } $fileName = strtolower(\Helpers\Data::toTranslite($fileName)); } $fileExtension = \Helpers\Document::getExtension($fileName); $fileType = \Helpers\Document::getFileType($fileExtension); $mimeType = $fileType . '/' . $fileExtension; $serverFileName = uniqid() . '_' . $fileName . '.txt'; if (!empty($_SESSION['rf_user'])) { $userName = $_SESSION['rf_user']; } else { $userName = '******'; } $currentDate = time(); $uploadPath = $_SERVER['DOCUMENT_ROOT'] . '/uploads/'; if (!empty($_FILES['uploadFile']['tmp_name'])) { if (!move_uploaded_file($_FILES['uploadFile']['tmp_name'], $uploadPath . $serverFileName)) { echo 'Ошибка при перемещении файла.'; die; } } if (!empty($_POST['remote_url'])) { if (!copy($_POST['remote_url'], $uploadPath . $serverFileName)) { echo 'Не удалось загрузить файл с удаленного сервера.'; die; } } $result = $this->_files->uploadFile($userName, $fileName, $serverFileName, $fileSize, $currentDate, $mimeType); if (ctype_digit($result)) { echo $result; die; } }