You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
902 B
PHP
30 lines
902 B
PHP
<?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");
|
|
}
|
|
}
|
|
}
|