fileUploader + edit profile

This commit is contained in:
Olivier PARPAILLON
2024-11-20 10:53:29 +01:00
parent caa78c634b
commit 7091bd4094
10 changed files with 259 additions and 30 deletions

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Service;
use Symfony\Component\HttpFoundation\File\Exception\FileException;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\String\Slugger\SluggerInterface;
class FileUploader
{
public function __construct(
private string $targetDirectory,
private SluggerInterface $slugger,
) {
}
public function upload(UploadedFile $file): string
{
$originalFilename = pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME);
$safeFilename = $this->slugger->slug($originalFilename);
$fileName = $safeFilename.'-'.uniqid().'.'.$file->guessExtension();
try {
$file->move($this->getTargetDirectory(), $fileName);
} catch (FileException $e) {
// ... handle exception if something happens during file upload
}
return $fileName;
}
public function getTargetDirectory(): string
{
return $this->targetDirectory;
}
public function delete(?string $filename, string $rep): void
{
if (null != $filename) {
if (file_exists($rep . '/' . $filename)) {
unlink($rep . '/' . $filename);
}
}
}
}