laravel5控制器问题。未定义的变量:文件名

梅津洋平

我想上传博客的个人资料图片,但出现错误:

未定义的变量:file_name。

我认为这是控制器问题。尽管声明了相同的变量名,但我不知道为什么未定义变量。我重新启动了服务器,但是它不起作用。

所以请帮帮我。

BloggerController.php

public function store(Request $request, User $user_id)
{
    $user_id = DB::table('users')->where('id', $user_id)->get();

    if ($request->hasfile('image')) {
        $file = $request->file('image');
        $ext = $file->getClientOriginalExtension();
        $file_name = time() . '.' . $ext;
        $file->move('bloggers/', $file_name);
    }

    $blog = Blog::create(
        ['user_id' => $user_id],
        [
            'image'        => $file_name,
            'introduction' => $request->introduction,
        ]
    );

    return redirect(route('blogger'));
}

我还更改了存储方法。

if ($request->hasfile('image')) {
    $file_name = $request->file('image')->getClientOriginalName();
    $request->file('image')->storeAs('bloggers/', $file_name);
}

我的迁移

Schema::create('blogs', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->integer('user_id')->unsigned();
    $table->foreign('user_id')->references('id')->on('bloggers');
    $table->string('image');
    $table->string('introduction');
    $table->timestamps();
});

错误图片

Qonvex620

为确保变量$ fillename可用,请将代码更改为此

if($request->hasfile('image')){
      $file = $request->file('image');
      $ext = $file->getClientOriginalExtension();
      $filename = time().'.'.$ext;
      $file->move('bloggers/', $filename);

      $blog = Blog::create(
            ['user_id' => $user_id],
            [
                'image'=>$filename,
                'introduction' => $request->introduction,
            ]
        );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel 5.4 未定义变量错误 - 控制器有问题?

Laravel 启动变量在控制器中未定义

Laravel控制器错误:未定义变量

Laravel 未定义变量控制器

Laravel 5 未定义变量:用户/包含控制器

LARAVEL 7,未定义变量,无法将变量从控制器传递到视图

控制器中未定义的范围变量

测试Laravel控制器时视图中的未定义变量

Laravel View ::仅在一个控制器上共享未定义的变量

PHP laravel未定义变量:控制器中的用户标识

“未定义的索引:名称” Laravel 5.7控制器

动作未定义 laravel/php 控制器

未定义参数“控制器”

文件名未定义

将数据从控制器传递到 Laravel 中查看 - 显示错误消息未定义变量

为什么未定义控制器?错误:未定义的索引:控制器

将变量从控制器传递到视图页面显示未定义的变量

控制器codeigniter中的未定义变量,但变量仍显示该值

PHP:创建动态(变量)文件名-未定义变量:65

错误:即使在控制器中定义了函数,laravel 中的函数也未定义

未定义的变量问题Laravel 5.4

Laravel 中未定义变量的问题

Laravel 8:未定义变量:问题

为什么在控制器中未定义我的ng-model变量?

路由不起作用,来自控制器的变量未定义

角度模板中的变量显示为在控制器中未定义

消息:未定义的变量:控制器下的电子邮件

命名空间控制器的未定义局部变量或方法“ current_user”

从控制器到视图的设置数据中的未定义变量