Как исправить ошибку «Undefined variable: img_name» в laravel - PullRequest
0 голосов
/ 29 мая 2019

У меня есть проект на Laravel 5.8;у меня есть эта ошибка;Пожалуйста, помогите мне: неопределенная переменная: img_name

это мой HTML-код:

    <div class="input-group control-group increment" >
      <input id="p_image" type="file" name="p_image" class="form-control">
      <div class="input-group-btn"> 
        <button class="btn btn-success" type="button"><i class="glyphicon glyphicon-plus"></i>Add</button>
      </div>
    </div>
    <div class="clone hide">
      <div class="control-group input-group" style="margin-top:10px">
        <input id="p_image" type="file" name="p_image" class="form-control">
        <div class="input-group-btn"> 
          <button class="btn btn-danger" type="button"><i class="glyphicon glyphicon-remove"></i> Remove</button>
        </div>
      </div>
    </div>

Мой контроллер:

    public function store(Request $request)
    {
        $this->validate(request(), [

            'p_image' => 'image|mimes:jpg,jpeg,png|max:2048'

        ]);


        if($request->hasFile('p_image')){
            $img_name = time() . '.' . $request->p_image->getClientOriginalExtension();
        }

         // awi sora s lfolder public/uploads
        if($request->hasFile('p_image')){
            $request->p_image->move(public_path('upload'), $img_name);
        }

        Image::create([
            'p_image' => $img_name,
            'post_id' => $post->id

        ]);

        return redirect('/posts');

    }

У меня есть эта ошибка, я не понимаю, еслиВы можете объяснить мне, пожалуйста;спасибо Неопределенная переменная: img_name

1 Ответ

1 голос
/ 29 мая 2019

Если $request->hasFile('p_image') равно false, вы не определяете переменную $img_name.

Но вы всегда выполняете код

Image::create([
    'p_image' => $img_name,
    'post_id' => $post->id
]);

что не так. Измените свой код на

if($request->hasFile('p_image')){
    $img_name = time() . '.' . $request->p_image->getClientOriginalExtension();
    $request->p_image->move(public_path('upload'), $img_name);
    Image::create([
        'p_image' => $img_name,
        'post_id' => $post->id
    ]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...