yii2 Вопрос
Моя установка yii2 в d:\wamp\www\yii2store
Я хочу получить выше пути для сохранения изображений, которые будут загружены мной или пользователями.
Я передал все доступные аргументы в Yii::getAlias('@webroot')
(ниже приведены списки аргументов, которые я использовал).
@yii
– каталог фреймворков.
@app
– базовый путь для текущего приложения.
@runtime
– каталог времени выполнения.
@vendor
– каталог поставщиков композиторов.
@webroot
– веб-корневая директория текущего веб-приложения.
@web
– базовый URL-адрес текущего веб-приложения.
А также, как только я получу выше путь для сохранения изображений, тогда как я могу получить путь, похожий на этот localhost/yiistore2/upload
который будет использоваться в img tag src.
Еще одна вещь, как я могу создать свой собственный псевдоним с Yii::setAlias()
и где его создать, чтобы я мог загрузить его на каждом контроллере.
Открыть файл D:\wamp\www\yiistore2\common\config\params-local.php
Вставьте под кодом перед возвратом
Yii::setAlias('@anyname', realpath(dirname(__FILE__).'/../../'));
После вставки выше кода в файл params-local.php ваш файл должен выглядеть так.
Yii::setAlias('@anyname', realpath(dirname(__FILE__).'/../../')); return [ ];
Теперь, чтобы получить путь к вашему корню (в моем случае его каталог D:\wamp\www\yiistore2
), вы можете использовать код ниже в любом php-файле.
echo Yii::getAlias('@anyname');
Используйте «getAlias» в Yii2
\Yii::getAlias('@webroot')
Попробуйте это,
Моя установка находится в папке D: \ xampp \ htdocs \ advanced
\Yii::$app->basePath
даст как D:\xampp\htdocs\advanced\backend
.
\Yii::$app->request->BaseUrl
даст как localhost\advanced\backend\web\
Вы можете сохранить изображение с помощью \Yii::$app->basePath
и показать его с помощью \Yii::$app->request->BaseUrl
Предположим, что у вас есть загружаемая папка «uploads» в вашем приложении:
Вы можете определить такой параметр:
Yii::$app->params['uploadPath'] = realpath(Yii::$app->basePath) . '/uploads/';
Затем вы можете просто использовать параметр как:
$path1 = Yii::$app->params['uploadPath'] . $filename;
Просто в зависимости от того, используете ли вы расширенный или простой шаблон, базовый путь будет (по ссылке, предоставленной phazei):
Простой @app: корневой каталог приложения
Advanced @app: корневой каталог приложения (внешний или серверный сервер или консоль в зависимости от того, где вы его используете)
Таким образом, приложение будет более переносимым, чем использование realpath(dirname(__FILE__).'/../../'));
Чтобы получить базовый URL-адрес, вы можете использовать его (вернете «http: // localhost / yiistore2 / upload»)
Yii::app()->baseUrl
Следующий код вернет только «localhost / yiistore2 / upload» без http [s]: //
Yii::app()->getBaseUrl(true)
Или вы можете получить путь webroot (верните «d: \ wamp \ www \ yii2store»)
Yii::getPathOfAlias('webroot')
Открыть ниже файл C:\xampp\htdocs\project\common\config\params-local.php
Перед вашим кодом:
<?php return [ ];
после вашего кода:
<?php yii::setAlias('@path1', 'localhost/foodbam/backend/web'); return [ ];