Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
я не посмотрел ответ и сделал немного по другому через 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'])}}">
я просто не совсем понял как это делать, например сохраняю я картинку в storage/local что бы ее небыло видно, как мне ее отрендерить на екран?
Есть папки с изображениями, путь к ним таков "site.com/1/thumbnail.png", проблема в том что число в url это id пользователя и надо сделать так что бы только например админ имел доступ к этим фото, еще одна проблема путь к изображению нежелательно сохранять в базу, middleware и storage писал, ничего не вышло
Страницы 1