* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ require __DIR__ . '/vendor/autoload.php'; use Sirius\Upload\Handler as UploadHandler; // Path relative to the script dir. const INCOMING_DIR = 'incoming/'; const MAX_FILE_SIZE = '1G'; const ALLOWED_EXTENSIONS = [ 'avi', 'bz2', 'gz', 'htm', 'html', 'jpg', 'mp3', 'mpg', 'php', 'png', 'rar', 'txt', 'zip', ]; if (isset($_POST['task']) && $_POST['task'] == "upload") { $uploadHandler = new UploadHandler(INCOMING_DIR); $uploadHandler->addRule('extension', ['allowed' => ALLOWED_EXTENSIONS], '{label} invalid file type', 'File'); $uploadHandler->addRule('size', ['max' => MAX_FILE_SIZE], '{label} should be less than {max}', 'File'); $result = $uploadHandler->process($_FILES); if ($result->isValid()) { try { $result->confirm(); } catch (\Exception $e) { $result->clear(); throw $e; } } else { echo "
{$result->getMessages()}
"; } } $iframe_parent_request_url = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . INCOMING_DIR; // Avoid iframe recursion. if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == $iframe_parent_request_url) { echo "Iframe recursion detected, use the BACK button in the browser"; return; } ?>

Upload