php frameworks yii2

php - yii2 alias



Cómo obtener el directorio raíz en yii2 (6)

Abra debajo del archivo C:/xampp/htdocs/project/common/config/params-local.php

Antes de tu código:

<?php return [ ];

después de tu código:

<?php yii::setAlias(''@path1'', ''localhost/foodbam/backend/web''); return [ ];

yii2 Pregunta

Mi yii2 se instala en d:/wamp/www/yii2store

Quiero ir por encima de la ruta para guardar las imágenes que subirán yo o los usuarios.

He pasado todos los argumentos disponibles en Yii::getAlias(''@webroot'') (a continuación se muestran las listas de argumentos que he utilizado).

@yii - directorio de framework.

@app - ruta base de la aplicación actualmente en ejecución.

@runtime - directorio de tiempo de ejecución.

@vendor - Directorio de proveedores de Composer.

@webroot : directorio raíz web de la aplicación web actualmente en ejecución.

@web - URL base de la aplicación web actualmente en ejecución.

Y también, una vez que obtenga el camino superior para guardar las imágenes, ¿cómo puedo obtener un camino como este localhost/yiistore2/upload para usar en img tag src?

Una cosa más es cómo puedo crear mi propio alias con Yii::setAlias() y dónde crear esto para poder cargarlo en cada controlador.


Abra el archivo D:/wamp/www/yiistore2/common/config/params-local.php

Pegar el código debajo antes de regresar

Yii::setAlias(''@anyname'', realpath(dirname(__FILE__).''/../../''));

Después de insertar el código anterior en el archivo params-local.php, su archivo debería verse así.

Yii::setAlias(''@anyname'', realpath(dirname(__FILE__).''/../../'')); return [ ];

Ahora para obtener la ruta de su directorio raíz (en mi caso es D:/wamp/www/yiistore2 ) puede usar el código a continuación en cualquier archivo php.

echo Yii::getAlias(''@anyname'');


Para obtener la URL base, puede usar esto (devolvería "http: // localhost / yiistore2 / upload")

Yii::app()->baseUrl

El siguiente código devolvería solo "localhost / yiistore2 / upload" sin http [s]: //

Yii::app()->getBaseUrl(true)

O podría obtener la ruta webroot (devolvería "d: / wamp / www / yii2store")

Yii::getPathOfAlias(''webroot'')


Prueba esto,

Mi instalación está en D: / xampp / htdocs / advanced

/Yii::$app->basePath dará como D:/xampp/htdocs/advanced/backend .

/Yii::$app->request->BaseUrl dará como localhost/advanced/backend/web/

Puede almacenar la imagen usando /Yii::$app->basePath y mostrarla usando /Yii::$app->request->BaseUrl


Supongamos que tiene una carpeta "subir" grabable en su aplicación:

Puede definir un parámetro como este:

Yii::$app->params[''uploadPath''] = realpath(Yii::$app->basePath) . ''/uploads/'';

Entonces puedes simplemente usar el parámetro como:

$path1 = Yii::$app->params[''uploadPath''] . $filename;

Dependiendo de si está utilizando una plantilla avanzada o simple, la ruta base será (siguiendo el yiiframework.com/wiki/667/… provisto por phazei):

Simple @app: el directorio raíz de su aplicación

Advanced @app: el directorio raíz de su aplicación (ya sea frontend o backend o consola dependiendo de desde dónde acceda)

De esta forma, la aplicación será más portátil que usar realpath(dirname(__FILE__).''/../../''));


Use "getAlias" en Yii2

/Yii::getAlias(''@webroot'')