Идентификатор ресурсов Laravel
Я установил Laravel и начал пытаться написать приложение. Я создал несколько каталогов для своих активов в том же каталоге, что и /app. Но когда я пытаюсь посетить образ в моем локальном хосте, например: http://localhost/assets/images/image.png
Я также пробовал его: http://localhost/app/assets/images/image.png
Я столкнулся с проблемой, когда пытался установить фоновое изображение в представлении, и он продолжал идти до 404.
Вот как выглядит мое приложение в приложении /
->app
->assets
->commands
->config
->controllers
->database
->lang
->models
->start
->storage
->tests
->views
app.txt
routes.php
filters.php
Но я получаю ошибки в запросах. Я дважды проверял правильность URL-адреса.
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Ответы
Ответ 1
Вы должны поместить все свои ресурсы в папку app/public
, а для доступа к ним из своих представлений вы можете использовать вспомогательный метод asset()
.
Ex. вы можете получить assets/images/image.png
в своем представлении следующим образом:
<img src="{{asset('assets/images/image.png')}}">
Ответ 2
Помимо размещения всех ваших ресурсов в общей папке, вы можете использовать метод HTML::image()
, и ему нужен только аргумент, который также является путем к изображению относительно относительной общей папки:
{{ HTML::image('imgs/picture.jpg') }}
Который генерирует следующий HTML-код:
<img src="http://localhost:8000/imgs/picture.jpg">
Ссылка на другие элементы метода HTML::image()
: http://laravel-recipes.com/recipes/185/generating-an-html-image-element
Ответ 3
Вы должны сделать два шага:
- Поместите все ваши файлы (css, js, html-код и т.д.) в общую папку.
- Используйте
url({{ URL::asset('images/slides/2.jpg') }})
, где images/slides/2.jpg
- это путь к вашему контенту.
Аналогичным образом вы можете вызвать js, css и т.д.
Ответ 4
img src="{{URL::asset('img/img12.jpg')}}"
Asset предопределен здесь, поэтому не делайте его активами.
Просто используйте это:)