HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ubuntu-8gb-hel1-1 6.8.0-55-generic #57-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 12 23:42:21 UTC 2025 x86_64
User: www-data (33)
PHP: 8.1.32
Disabled: NONE
Upload Files
File: /var/www/agighana.org_backup/MediaController.php
<?php

namespace App\Http\Controllers;

use App\Models\Media;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Validator;

class MediaController extends Controller
{
    public function index(){

        return view('media.index');
    }

    public function create_media(Request $req){
        $rules = [
            'title' => 'required',
            'img' => '|mimes:png,jpg,jpeg,pdf',
            'description' => 'required',
        ];

        $validator = Validator::make($req->all(), $rules);
        if ($validator->fails()) {
            return response()->json(['errors' => $validator->errors()]);
        }

        try {
            $media = new Media();
            $media->title = $req->title;
            $media->description = $req->description;
            $media->type = $req->type;
            $media->status = 'active';

            if ($req->hasFile('img')) {
                $file = $req->file('img');
                $filename  = $file->getClientOriginalName();
                $newname = $req->item . '_' . time() . '_' . $filename;
                $path = public_path('uploads/media' . '/');
                $file->move($path, $newname);
                $media->img = $newname;
            }

            $media->save();

           
            return response()->json(['success' => "Successfully"]);
        } catch (\Exception $ex) {
            Log::channel('custom')->error($ex->getMessage());
            return response()->json(['logginError' => "Error Occured. Contact System Admin"]);
        }
    }
}