Как я могу загрузить изображение в общую папку на общем хостинге laravel 5 - PullRequest
0 голосов
/ 03 февраля 2019

Я переместил свой сайт с локального хоста на общий хостинг, все это хорошо, но мне нужно, когда я загружаю файл, сохраненный непосредственно в public_html: что-то вроде этого public_html / storage / я пытался использовать somenthing, например:

symlink('/home/abdoweb/bmcelarave/storage/app/public', '/bmce/public_html/storage')

проблема все еще существует.

мой контроллер:

    public function addcategory(Request $request){

    $title = $request->input('category_name');
    $image = $request->file('category-image');
        $name = $image->getClientOriginalName();
        $image->move(storage_path().'/app/public/category',$name);
        $data[] = $name;

    $query=  DB::table('category')->insert(
        [
            'title' => $title,
            'image' => $name,
            "created_at" => Carbon::now()
        ]);
        if($query){
            return redirect('categories');
        }
}

Моя папка:

home / abdoweb / {bmcelaravel} <= моя общая папка </p>

Базовый уровень:

home / {bmce} <= базовый уровень </p>

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Прежде всего, рекомендуемое место для этого материала - оставаться на общедоступном пути, а не создавать новый, если только для этого нет реальной причины.Вы действительно проверяли, что символическая ссылка была создана?

У Laravel есть собственная команда создать символическую ссылку от storage/app/public до public/storage (папка хранилища будет сгенерирована впоследствии):

php artisan storage:link

Но если вы хотите создать символические ссылки по умолчанию, вы должны создать их для себя, как вы уже сделали.

Это шаблон символической ссылки:

ln -s target source (укажите целевой путь и исходный путь)

Так что, если вы действительно получили правильный файл из вашего запроса, этот код должен работать:

Storage::putFile($name, $request->file('category-image'));

Для получения более подробной информации смотрите файловую систему документация

0 голосов
/ 04 февраля 2019

Вы можете использовать драйвер хранилища:

Внутри config / filesystems.php:

'disks' => [
   'public' => [
       'driver' => 'local',
       'root'   => public_path() . '/uploads',
       'url' => env('APP_URL').'/public',
       'visibility' => 'public',
    ]
]

//Now you can move  the file to storage like : 

Storage::disk('public')->putFile('category', $request->file('category-image'));
...