<?php use Psr\Http\Message\UploadedFileInterface; //include "brain/data/Auth.inc.php"; class FileUploader { public static function uploadFile( string $directory, UploadedFileInterface $file ) { try { if (!is_dir($directory)) { //Directory does not exist, so lets create it. mkdir($directory, 0755, true); } //$upload = move_uploaded_file($file->getClientFileName(), $directory); //$extension = pathinfo($file->getClientFilename(), PATHINFO_EXTENSION); // see http://php.net/manual/en/function.random-bytes.php //$basename = bin2hex(random_bytes(8)); //$filename = sprintf("%s.%0.8s", $basename, $extension); $file->moveTo($directory . "/" . $file->getClientFileName()); } catch (Error $e) { echo "failed to upload image: " . $e->getMessage(); throw new Error("Failed to upload image file"); } } }