Мне нужно получить доступ к изображениям в папке загрузки внутри корневой папки.
Я создал псевдоним и попробовал это:
корень
-backend
-common
-frontend
-uploads
...
общий / конфигурация / bootstrap.php
Yii::setAlias('@uploads', dirname(dirname(__DIR__)) . '/uploads');
view.php
<?= Html::img(Yii::getAlias('@uploads') . '/party/IMG_900.jpg'); ?>
Но изображение не загружается.
src
атрибут img
тег относится к адресу веб-корня. Вы должны написать это как /uploads/party/IMG_900.jpg
, а затем создать мягкую ссылку в вашем frontend/web
(или же backend/web
) и укажите на /root/uploads
каталог.
Пример структуры каталогов:
root
- backend
- web
- uploads -> ../../uploads
- frontend
- web
- uploads -> ../../uploads
- common
- uploads
в view.php
<?= Html::img('/uploads/party/IMG_900.jpg'); ?>
Похоже, вы используете путь к файловой системе в качестве источника изображения — Yii::setAlias
вернет что-то вроде /root/uploads
но Html::img
ожидает URL. Если вы посмотрите в своем браузере инструменты разработчика, вы, вероятно, увидите ошибку 404 для /root/uploads/party/IMG_900.jpg
или что-то типа того.
используя этот код:
Yii::setAlias('@uploads', '/uploads');