Sindbad~EG File Manager

Current Path : /var/www/html/eva.sumar.com.py/app/Http/Livewire/
Upload File :
Current File : /var/www/html/eva.sumar.com.py/app/Http/Livewire/Documentos.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Documento;
use Livewire\WithPagination;
use Livewire\WithFileUploads;
use Illuminate\Support\Facades\Storage;
use App\File;

class Documentos extends Component{

    use WithPagination;
    use WithFileUploads;
    protected $paginationTheme = 'bootstrap';

    public $enlace;

    public function render(){

        $documentos=Documento::orderBy('id','desc')->paginate(50);

        return view('livewire.documentos',["documentos"=>$documentos]);
    }

    public function store(){

        $validatedDate = $this->validate([
            'enlace' => 'required',
        ],
        [
            'enlace.required' => 'El campo documento es requerido',
        ]);

        if($file = $this->enlace) {
            $control=0;
            $nombre = $file->getClientOriginalName();
            $nombre = str_replace(" ","_",$nombre);
            while ($control == 0) {
                if (Storage::disk('subidaarchivos')->exists('documentos_varios/' . $nombre)) {
                    $nombre = rand() . $nombre;
                }else{
                    $this->enlace->storeAs('/documentos_varios',$nombre,'subidaarchivos');
                    $control=1;
                }
            }
        }


        Documento::create([
            'enlace' => $nombre,
        ]);

        $this->emit('alert', ['type' => 'success', 'message' => 'Documento agregado correctamente!']);

        $this->enlace='';


    }

    public function delete($id){

        $documento = Documento::find($id); // Suponiendo que estás obteniendo el documento por su ID

        if ($documento) {
            $archivo = 'documentos_varios/' . $documento->enlace;

            if (Storage::disk('subidaarchivos')->exists($archivo)) {
                // Elimina el archivo del sistema de archivos
                Storage::disk('subidaarchivos')->delete($archivo);
            }

            // Elimina el registro del documento en la base de datos
            $documento->delete();
        }
    }

}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists