2016-06-03 4 views
1

Я использую ниже кодКак удалить публичный реж из пути хранения в Laravel 5.2

dd(URL(env("UserFolder") . \Auth::user()->UserID . "/" . \Auth::user()->UniqueFileName)); 

, который дает результат ниже.

http://localhost/SportsApp/public/storage/User17/9.png 

Есть ли способ, чтобы удалить публичный каталог из этого URL: http://localhost/SportsApp/public/storage/User17/9.png?

Я имею в виду Есть ли встроенный метод, который дает мне Url для каталога хранения?

+0

это ваши собственные методы, мы не можем видеть, что происходит внутри;) –

+0

Я имел в виду, есть ли встроенный метод, который дает мне Каталог Url for Storage? – Pankaj

+0

Да, есть вспомогательные функции, например. storage_path() для папки хранения, public_path() для общей папки, base_path() для корневой папки и т. д. –

ответ

0

Необходимо использовать правильную конфигурацию VH веб-сервера. Set public directory as root for Laravel project VH.

перезагрузки сервера и использовать URL-адреса, как http://localhost/img/User17/9.png?

0

По умолчанию пользователи не могут получить доступ к папке storage по соображениям безопасности, они только могут получить доступ к public. Так что если вы хотите вернуть некоторый файл из storage вы должны сделать это manually

Route::get('get-file', function() { 
    return response()->file(storage_path().'path_to_your_file'); 
}); 

или вы можете перемещать файлы вашего пользователя в общественную директорию и получить ссылки на него с помощью asset

asset(env("UserFolder") . \Auth::user()->UserID . "/" . \Auth::user()->UniqueFileName)); 
0

Вашего веб-сервер DocumentRoot должны точка/путь/к/вы/Laravel/проект/общественный

вы могли бы сделать что-то вроде этого

$publicPath = 'img/avatar/generic.svg';  
public_path($publicPath); 


public_path() // returns the system path to your document root 
$publicPath // is the path using your public/ as root 

Объедините их, и вы получите полный путь, например. «/var/www/project/public/img/avatar/generic.svg»