MultipleImage upload

 <?php

namespace App\Http\Controllers\Backend;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
use App\Models\MultipleImageModel;
use Auth;
use File;
use Str;


class MultipleImageController extends Controller
{
    public function index(Request $request)
    {

        $getrecord = MultipleImageModel::all();
        $data['getrecord'] = $getrecord;

        return view('backend.author.multiple_image.index',$data);
    }

    public function create(){
        return view('backend.author.multiple_image.create');
    }

    public function store(Request $request)
    {

        // $this->validate($request, [
        //         'filename' => 'required',
        //         'filename.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:3048'
        // ]);
        
        $Upload_model = request()->validate([
            
          'filename' =>'required',
          'filename.*' => 'required|mimes:pdf,jpeg,png',
          //'filename' => 'required|mimes:jpg,bmp,png',
         
       ]);


        if($request->hasfile('filename'))
        {
            foreach($request->file('filename') as $image)
            {
                $name = Str::random(10).'.'.$image->extension();
                //$name = $image->getClientOriginalName();
                // $image->move(public_path().'/image/', $name);  // your folder path
                $image->move('public/img/', $name);
                $data[] = $name;  
            }
        }
        
        $Upload_model = new MultipleImageModel;
        $Upload_model->user_id      = Auth::user()->id;
        $Upload_model->multiple_pic = json_encode($data);
        $Upload_model->save();
        return redirect('author/multiple_image')->with('success', 'Your images has been upload successfully.');
        
    }

    public function edit($id, Request $request){


       $getrecord = MultipleImageModel::find($id);
       if(!empty($getrecord)){
        $data['getrecord'] = $getrecord;
             return view('backend.author.multiple_image.edit', $data);
        }else{
           return redirect('logout')->with('success', 'Record successfully register.');  
        }
       
    }

    public function update($id, Request $request){

        if($request->hasfile('filename'))
        {
            $Upload_model = MultipleImageModel::find($id);
            
            // update old image start
            $data = array();
            if(!empty($Upload_model->multiple_pic))
            {
                foreach (json_decode($Upload_model->multiple_pic) as $picture)
                {
                    $data[] = $picture;
                }
            }
            // update old image end

            foreach($request->file('filename') as $image)
            {
                $name = Str::random(10).'.'.$image->extension();
                //$name = $image->getClientOriginalName();
                // $image->move(public_path().'/image/', $name);  // your folder path
                $image->move('public/img/', $name);
                $data[] = $name;
                //dd($Upload_model);
            }

        // $Upload_model->user_id      = Auth::user()->id;
        $Upload_model->multiple_pic = json_encode($data);
        $Upload_model->save();
        }
        
   
        return redirect('author/multiple_image')->with('success', 'Your images has been upload successfully.');
        
    }


    public function create_single(Request $request)
    {
        return view('backend.author.multiple_image.create_single');
    }



    public function single_store(Request $request){
        // view file name = profileImage[]
        $imagemodel = request()->validate([
            'profileImage' => 'required',
            'profileImage.*' => 'required|mimes:jpeg,png,jpg,gif,svg|max:2048',
       ]);
       if ($files = $request->file('profileImage')) {
       // Define upload path
          //  $destinationPath = public_path('/profile_images/'); // upload path
            foreach($files as $img) {
            // Upload Orginal Image       
            $randomStr      = Str::random(30);
            $profileImage       = $randomStr . '.' . $img->getClientOriginalExtension();
            //  $profileImage =$img->getClientOriginalName();
            $img->move('public/img/', $profileImage);
            // Save In Database
            $imagemodel= new MultipleImageModel();
            $imagemodel->user_id      = Auth::user()->id;
            $imagemodel->multiple_pic="$profileImage";
            $imagemodel->save();
            }
 
        }
        return redirect('author/multiple_image')->with('success', 'Your images has been upload successfully.');
       
    }

   public function edit_crypt($id, Request $request){
        $prodID = Crypt::decrypt($id);
        $Data   = MultipleImageModel::find($prodID);
       // dd($Data);
        $data['getrecord'] = $Data;
        return view('backend.author.multiple_image.crypt_single', $data);
   }

   
}

Comments

Popular posts from this blog

codeigniter

laravel password print