Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Скрытые файлов в public » 25.07.2019 21:10:27

я не посмотрел ответ и сделал немного по другому через storage но все равно спасибо может позже перепишу код, а тут я сделал по своему может поможет кому то


функция рендера изображения

public function getUserPhoto($id, $filename)
    {
        $path = storage_path('app/public/uploads/'. $user. '/' . $filename);
        if(!Storage::disk('public')->exists('uploads/'.$user.'/'.$filename)) {
            abort(404);
        }
        $image = imagecreatefromstring(file_get_contents($path));
        header('Content-type: image/pjpeg');
        return imagejpeg($image);
    }

а вот роут

Route::get('/storage/{id}/{filename}', 'UsersController@getUserPhoto')->name('get.user.photo');

ну и сам рендер на вюхе

<img src="{{ route('get.user.photo', [$user->id, 'thumbnail.jpeg'])}}">

#2 Re: Laravel 5.x » Скрытые файлов в public » 25.07.2019 17:33:14

я просто не совсем понял как это делать, например сохраняю я картинку в storage/local что бы ее небыло видно, как мне ее отрендерить на екран?

#3 Laravel 5.x » Скрытые файлов в public » 24.07.2019 17:34:06

DaKoshin
Ответов: 4

Есть папки с изображениями, путь к ним таков "site.com/1/thumbnail.png", проблема в том что число в url это id пользователя и надо сделать так что бы только например админ имел доступ к этим фото, еще одна проблема путь к изображению нежелательно сохранять в базу, middleware и storage писал, ничего не вышло

Подвал раздела