forked from projects/fipamo
ro
6a0c583a4f
upload script for file types was still looking at mime types instead of extensions so made that flip so files are sorted properly
74 lines
2.4 KiB
PHP
74 lines
2.4 KiB
PHP
<?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;
|
|
case 'mkv':
|
|
case 'mp4':
|
|
$filesPath = '/assets/video/blog/' . $path . '/';
|
|
break;
|
|
case 'ogg':
|
|
case 'mp3':
|
|
$filesPath = '/assets/sound/blog/' . $path . '/';
|
|
break;
|
|
case 'pdf':
|
|
case 'txt':
|
|
case 'rtf':
|
|
$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;
|
|
}
|
|
}
|