Laravel ErrorException:未定义变量

问题描述 投票:0回答:1

我正在尝试通过axios api槽Laravel上传文件。下面是控制器代码,但我不明白为什么Laravel告诉我第24行的变量名称未定义。在我看来,该变量已定义...

public function store(Request $request)
{
    $this->validate($request, [
        'image' => 'required'
]);

if($request->get('image'))
{
    $image = $request->get('image');
    $name = time().'.' . explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1];
    \Image::make($request->get('image'))->save(public_path('images/').$name);
}

$image= new FileUpload();
$image->image_name = $name;
$image->save();

return response()->json(['success' => 'You have successfully uploaded an image'], 200);
}

这是第24行:$image->image_name = $name;

php laravel
1个回答
1
投票

您必须将变量设置在较高的可见性范围内:

public function store(Request $request)
{
// you have to check your image file too
    $this->validate($request, [
        'image' => 'required','mimes:jpeg,jpg,png,gif'
]);
 $name=''; // here you define your vaiable
if($request->get('image'))
{
    $image = $request->get('image');
    $name = time().'.' . explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1];
    \Image::make($request->get('image'))->save(public_path('images/').$name);
}

$image= new FileUpload();
$image->image_name = $name;
$image->save();

return response()->json(['success' => 'You have successfully uploaded an image'], 200);
}

有关变量作用域的更多信息:

https://phppot.com/php/variable-scope-in-php/

© www.soinside.com 2019 - 2024. All rights reserved.