2024-03-11 23:32:38 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Services;
|
|
|
|
|
|
|
|
class FileUploadService
|
|
|
|
{
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function handleFile($request, $type = null)
|
|
|
|
{
|
|
|
|
//$options = $request->getParsedBody();
|
|
|
|
//front end sends one by one for progress tracking, so grab first
|
|
|
|
$file = $request->file('upload_files');
|
|
|
|
$type = $file[0]->extension();
|
|
|
|
$public_path = '../public';
|
|
|
|
$filesPath = '';
|
|
|
|
$path = date('Y') . '/' . date('m');
|
|
|
|
$response = [];
|
|
|
|
switch ($type) {
|
|
|
|
case 'jpeg':
|
|
|
|
case 'jpg':
|
|
|
|
case 'png':
|
|
|
|
case 'gif':
|
|
|
|
if (isset($options["source"])) {
|
|
|
|
if ($options["source"] == "avatar-upload") {
|
|
|
|
$filesPath = '/assets/images/user/' . $path . '/';
|
|
|
|
//Member::updateData('avi', $filesPath . $file->getClientFileName());
|
|
|
|
} else {
|
|
|
|
$filesPath = '/assets/images/user/' . $path . '/';
|
|
|
|
// Settings::updateGlobalData('background', $filesPath . '/' . $file->getClientFileName());
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$filesPath = '/assets/images/blog/' . $path . '/';
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
2024-03-11 23:42:46 +01:00
|
|
|
case 'mkv':
|
|
|
|
case 'mp4':
|
2024-03-11 23:32:38 +01:00
|
|
|
$filesPath = '/assets/video/blog/' . $path . '/';
|
|
|
|
break;
|
2024-03-11 23:42:46 +01:00
|
|
|
case 'ogg':
|
|
|
|
case 'mp3':
|
2024-03-11 23:32:38 +01:00
|
|
|
$filesPath = '/assets/sound/blog/' . $path . '/';
|
|
|
|
break;
|
2024-03-11 23:42:46 +01:00
|
|
|
case 'pdf':
|
|
|
|
case 'txt':
|
|
|
|
case 'rtf':
|
2024-03-11 23:32:38 +01:00
|
|
|
$filesPath = '/assets/docs/blog/' . $path . '/';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
// if does not exist, so lets create it.
|
|
|
|
if (!is_dir($public_path . $filesPath)) {
|
|
|
|
mkdir($public_path . $filesPath, 0755, true);
|
|
|
|
}
|
|
|
|
$filename = urlencode($file[0]->getClientOriginalName());
|
|
|
|
$file[0]->move($public_path . $filesPath, $filename);
|
|
|
|
} catch (RuntimeException $e) {
|
|
|
|
echo 'ERROR ' . $e->getMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
$response = [
|
|
|
|
'message' => "File Uploaded. Great!",
|
|
|
|
"filePath" => $filesPath . urlencode($file[0]->getClientOriginalName()),
|
|
|
|
"fileName" => urlencode($file[0]->getClientOriginalName()),
|
|
|
|
'type' => $type,
|
|
|
|
];
|
|
|
|
|
|
|
|
return $response;
|
|
|
|
}
|
|
|
|
}
|