HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/Api/AcademyNewsApiController.php
<?php

namespace App\Http\Controllers\Api;

use App\AcademyNew;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Storage;

class AcademyNewsApiController extends Controller
{
    public function create(Request $request)
    {
        if ($request['file']) {
            $file = $request['file'];
            $extension = explode('/', mime_content_type($file))[1];
            $filenametostore = 'academy_new_' .  base64_encode(random_bytes(4))  . '.' . $extension;
            list($baseType, $file) = explode(';', $file);
            list(, $file) = explode(',', $file);
            $file = base64_decode($file);

            if (Storage::disk('s3')->exists(config('s3.academy') . '/academy_news/' . $filenametostore)) {
                Storage::disk('s3')->delete(config('s3.academy') . '/academy_news/' . $filenametostore);
            }

            Storage::disk('s3')->put(config('s3.academy') . '/academy_news/' . $filenametostore, fopen($request['file'], 'r+'), 'public');
            $url = config('filesystems.disks.s3.url') . '/academy/academy_news/' . $filenametostore;

            $request['file'] = $url;
        }

        AcademyNew::create($request->all());

        return response(array(
            "r" => true,
            "type" => "success",
            "title" => "",
            "m" => __('messages.created_successfully'),
            "data" => null
        ));
    }

    public function getByAcademyUser($academyUserId){
        $academyNews = AcademyNew::where('academy_user_id', $academyUserId)->get();
        return response(array(
            "r" => true,
            "type" => "success",
            "data" => $academyNews
        ));
    }
}