Search code examples
laravelimagefile-uploadfilenamesfilepath

How to get file name in Laravel without a path file


I'm trying to upload an image file to the database. But, when it posted, it shows a full path of the image file (I use the getClientOriginalName() to get the filename).

DSController.php

public function createDS2(Request $request)
    {
        //dd($request->all());

        $imgName1 = $request->file('opsi_a')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_a')->extension();
        $imgName2 = $request->file('opsi_b')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_b')->extension();
        $imgName3 = $request->file('opsi_c')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_c')->extension();
        $imgName4 = $request->file('opsi_d')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_d')->extension();

        $data = new DS2;
        $data->pertanyaan = $request->input('pertanyaan');
        $data->opsi_a = $request->file('opsi_a')->move(public_path('image'), $imgName1);
        $data->opsi_d = $request->file('opsi_b')->move(public_path('image'), $imgName2);
        $data->opsi_b = $request->file('opsi_c')->move(public_path('image'), $imgName3);
        $data->opsi_c = $request->file('opsi_d')->move(public_path('image'), $imgName4);
        $data->kunci = $request->input('kunci');
        $data->save();
        return redirect('ds2');
    }

the image file in the database will show something like this : C:\xampp\htdocs\admin_kuis\public\image\hiu_press.png-1614165665.png

how I can just save the hiu_press.png-1614165665.png in my database?


Solution

  • The same way as @zia-yamin but different syntax.

    $imgName1 = $request->file('opsi_a')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_a')->extension();
    $imgName2 = $request->file('opsi_b')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_b')->extension();
    $imgName3 = $request->file('opsi_c')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_c')->extension();
    $imgName4 = $request->file('opsi_d')->getClientOriginalName() . '-' . time() . '.' . $request->file('opsi_d')->extension();
    
    $request->file('opsi_a')->move(public_path('image'), $imgName1);
    $request->file('opsi_b')->move(public_path('image'), $imgName2);
    $request->file('opsi_c')->move(public_path('image'), $imgName3);
    $request->file('opsi_d')->move(public_path('image'), $imgName4);
    
    $data = new DS2;
    $data->pertanyaan = $request->input('pertanyaan');
    $data->opsi_a = pathinfo($imgName1, PATHINFO_BASENAME);
    $data->opsi_b = pathinfo($imgName2, PATHINFO_BASENAME);
    $data->opsi_c = pathinfo($imgName3, PATHINFO_BASENAME);
    $data->opsi_d = pathinfo($imgName4, PATHINFO_BASENAME);
    $data->kunci = $request->input('kunci');
    $data->save();
    return redirect('ds2');