在共享主机上部署后,无法将上传文件保存在目录中。 Laravel 5.8

时间:2019-05-16 06:32:21

标签: laravel upload

Iam在共享主机上部署我的项目网站。并按照以下教程将公共(本地)文件夹上的所有内容移至public_html(托管)

我的结构

(/ home / sippausr)

laravel

日志

邮件

public_ftp

public_html->

  • css

  • 文件

  • 图片

  • js

  • kalibrasi

  • 公共

  • sop

  • 主题

现在我有一个控制器将该数据发送到文件夹 文件

我的控制器

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


    ]);

    if($request->hasfile('image'))



        {   $file = $request->file('image');
            $name=$file->getClientOriginalName();
            $file->move(public_path().'/files/', $name);// i think this problem on here  
            $data = $name;  
        }


    $user = new pemeliharaan;
    $id = Auth::user()->id;

    $user->user_id = $id;
    $user->alat_id = $request->alat_id;
    $user->pertanyaan =json_encode($request->except
    (['_token','name','alat_id','status','catatan','image']));
    $user->catatan = $request->catatan;
    $user->image=$data;
    $user->status = $request->status;


    $user->save();
  // dd($user);
    return redirect('user/show6')->with('success', 'Data Telah Terinput');

}

但是该图像无法保存在目录文件中。此名称图像已保存在数据库中,但未保存该文件。 我该如何解决?

1 个答案:

答案 0 :(得分:1)

也许您已应用symlink并将您定向到其他文件夹?

尝试解决或确保您首先指向正确的路径

如果其他所有方法均失败,则您需要编辑config / filesystems.php文件中的默认保存文件夹

特别是这部分:

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => env('AWS_URL'),
    ],

],

您可以更改root键以专门指向所需的文件夹。 由于您已经提到已将其部署或上载到主机上,因此可以尝试使用我以前做过的一件事并解决问题

'public' => [
     'driver' => 'local',
     //When I upload my Laravel app in a shared hosting I uncomment the code below, to specifically pinpoint to my "storage" folder of the app
     'root' => '/home/w8p8r839yfqy/public_html/storage/',

     //But when I continue coding locally or in my personal machine, I uncomment the code below
     'root' => storage_path('../public/storage/'),

     'url' => env('APP_URL').'/storage',
     'visibility' => 'public',
 ],