<?php

namespace brain\utility

use Psr\Http\Message\UploadedFileInterface;

define("MAXIMUM_FILESIZE", "10485760"); //10 MB
class FileUploader
{
    public static function uploadFile(string $directory, $file)
    {
        $response = [];
        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);

          //echo "**FILE** " . $file->getClientFileName();

            $file->moveTo($directory . "/" . urlencode($file->getClientFileName()));
        } catch (RuntimeException $e) {
            echo "ERROR " . $e->getMessage();

          //echo "failed to upload image: " . $e->getMessage();
          //throw new Error("Failed to upload image file");
        }
    }
}