Проблема с загрузкой изображения Laravel на сервер — public_path

#laravel #server

#laravel #сервер

Вопрос:

Вставка данных, но при попытке загрузить изображение я получаю эту ошибку на сервере..

Использование неопределенной константы public_path — предполагаемый ‘public_path’ (это вызовет ошибку в будущей версии PHP)

Версия Laravel и php

  "php": ">=7.0.0",
    "laravel/framework": "5.8.*",
  

Код.

 DB::beginTransaction();
        try{
    
        $category = new Category();
        $category->name = $request->name;
        $category->status = isset($request->status) ? $request->status : 1 ;

        if($request->hasFile('image')){
 
          
           $originalImage = $request->file('image');
           
           $imageName = uniqid().time().'.'.$originalImage->getClientOriginalExtension();
           $imagePath = 'frontend/images/categories/images/';
           $image = Image::make($originalImage);
           $image->resize(270,168);
           $imageFullPath = $imagePath.$imageName;
           $this->globalImageSave($image,$imageFullPath);

           $category->image = $imagePath.$imageName;

       }

        


        $category->save();

        DB::commit();
        $status = true;
    }catch(Exception  $e){
       return  $message = $e->getMessage();
        DB::rollback();
        $status = false;
        return back()->with('error','Please fill out form correctly...');
    }
    
     protected function globalImageSave($image,$imageFullPath){
            $image->save(public_path().'/'.$imageFullPath);
        }
  

Комментарии:

1. что вы получаете dd(public_path()) в своей функции globalImageSave

Ответ №1:

Можете ли вы попробовать заменить следующую строку :

 $image->save(public_path().'/'.$imageFullPath);
  

С этим и проверить?

 $image->save(public_path('/').$imageFullPath);