簡體   English   中英

未定義的變量:image_name Laravel 5.4

[英]Undefined variable: image_name Laravel 5.4

我想上傳並顯示圖像,但出現錯誤未定義變量:image_name

這是我的控制器

$supply = new DataSupplyProcess;
    if($request->hasFile('supply_photo')){
            $photo = Validator::make($request->all(), [
                'supply_photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);
    if($photo->fails()){
                return redirect()->back()->with('warning', 'Image size should be 2MB or less');
        }            
        $image = $request->file('supply_photo');
        $image_name = rand().'.'. $image->getClientOriginalExtension();
        $destination_path = public_path('/item');
        $image->move($destination_path, $image_name);
        //dd($image);

    }
        $supply->item = $request->item;
        $supply->supply_details = $request->supply_details;
        $supply->tgl_request_date = $request->tgl_need_date;
        $supply->tgl_need_date = $request->tgl_need_date;
        $supply->employee_id = $id;
        $supply->id_approved_by = $manager->employee_manager_id;
        $supply->is_approved = 0;
        $supply->is_final_approved = 0;
        $supply->supply_photo = $image_name;
        $supply->save();

這是我的看法

  <label for="supply_photo">Photo</label>
        <form action="" method="post" enctype="multipart/form-data">
          <input type="file" class="form-control" name="supply_photo">

在您的控制器中,嘗試執行以下操作:

if(Input::file('supply_photo') !== null){
    $photo = Validator::make($request->all(), [
        'supply_photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
    ...
}

我認為這篇文章可以提供更多信息

每當您通過IF條件傳遞這樣的變量時,請先分配默認值。 因此,如果未選擇圖片,您將不會出錯。

並在原因檢查中首先獲得圖像

dd($image = $request->file('supply_photo'));

$image_name = NULL;

if($request->hasFile('supply_photo')){

        $image = $request->file('supply_photo');
        $image_name = rand().'.'. $image->getClientOriginalExtension();
        $destination_path = public_path('/item');
        $image->move($destination_path, $image_name);

}

$supply->supply_photo = $image_name;
$supply->save();
$supply = new DataSupplyProcess;

if($request->hasFile('supply_photo')){
        $photo = Validator::make($request->all(), [
            'supply_photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

         if($photo->fails()){
            return redirect()->back()->with('warning', 'Image size should be 2MB or less');
         }  

         //$original_name=$request->file('supply_photo')->getClientOriginalName();
         //$size=$request->file('supply_photo')->getSize();
         $extension=$request->file('supply_photo')->getClientOriginalExtension();
         $filename=uniqid().'.'.$extension;
         $imagepath=url('/item/'.$filename);
         $path=$request->file('supply_photo')->storeAs(public_path('/item'),$filename);



}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM