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/agile-selling-wpb/app/Http/Controllers/Api/EvidenceApiController.php
<?php

namespace App\Http\Controllers\Api;

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

use Illuminate\Support\Facades\Auth;

class EvidenceApiController extends Controller
{
    public function upload(Request $request){

        // $delivaryMan = User::find($request['id']);
        $id = Auth::user()->id;
        $delivaryMan = User::find($id);
        $email = $delivaryMan->email;
        $year = date('Y');
        $month = date('m');
        $day = date('d');

        //** subir archivo a s3 */
        $filenamewithextension = $request->file('file')->getClientOriginalName();
        $filename = pathinfo($filenamewithextension, PATHINFO_EXTENSION);

        $filenametostore =  $email. '/'. $year . '/' . $month . '/' . $day."/".uniqid().".".$filename;
        Storage::disk('s3')->put(env('S3_EVIDENCES_PATH').$filenametostore, fopen($request->file('file'), 'r+'), 'public');

        $this->savePicture($id, $request['orderId'],$filenametostore);
        return $filenametostore;

    }

    public function savePicture($id, $orderId,$image){

        $evidence = new Evidence();
        $evidence->delivery_id = $id;
        $evidence->order_id = $orderId;
        $evidence->image =  $image;
        $evidence->save();

    }
}