После развертывания на общедоступном хостинге загруженный файл не может быть сохранен в каталоге.Ларавел 5.8 - PullRequest
0 голосов
/ 16 мая 2019

Iam Разверните мой проект в сети на виртуальном хостинге. и следующий учебник, чтобы переместить все из публичной (локальной) папки в public_html (хостинг)

Моя структура

(/ дом / sippausr)

Laravel

журналы

почта

public_ftp

public_html ->

  • CSS

  • файлы

  • дом

  • изображения

  • JS

  • kalibrasi

  • * общественный 1043 *

  • подачка

  • Тема

и теперь у меня есть контроллер для отправки этих данных в папку файлы

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

 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 голосов
/ 16 мая 2019

Возможно, вы применили 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',
 ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...