Tou*_*Ali 40 php frameworks yii2
yii2问题
我的yii2安装在 d:\wamp\www\yii2store
我想通过上面的路径保存将由我或用户上传的图像.
我已经传递了所有可用的参数Yii::getAlias('@webroot')
(下面是我使用过的参数列表).
@yii
- 框架目录.
@app
- 当前运行的应用程序的基本路径.
@runtime
- 运行时目录.
@vendor
- Composer供应商目录.
@webroot
- 当前运行的Web应用程序的Web根目录.
@web
- 当前运行的Web应用程序的基本URL.
而且,一旦我将上面的路径保存图像,那么我怎么能得到这样的路径localhost/yiistore2/upload
在img标签src中使用.
还有一件事我如何创建自己的别名Yii::setAlias()
以及在何处创建它,以便我可以在每个控制器上加载它.
Tou*_*Ali 42
打开文件
D:\wamp\www\yiistore2\common\config\params-local.php
返回之前粘贴下面的代码
Yii::setAlias('@anyname', realpath(dirname(__FILE__).'/../../'));
Run Code Online (Sandbox Code Playgroud)
在params-local.php文件中插入上面的代码后,您的文件应如下所示.
Yii::setAlias('@anyname', realpath(dirname(__FILE__).'/../../'));
return [
];
Run Code Online (Sandbox Code Playgroud)
现在要获取你的根目录(在我的情况下是它的D:\wamp\www\yiistore2
)目录,你可以在任何php文件中使用下面的代码.
echo Yii::getAlias('@anyname');
Run Code Online (Sandbox Code Playgroud)
Den*_*G B 23
试试这个,
我的安装位于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
小智 6
如果你想获取 yii2 项目使用的根目录,假设你的项目名称是project_app,你需要使用:
echo Yii::getAlias('@app');
Run Code Online (Sandbox Code Playgroud)
在 Windows 上你会看到“C:\dir\to\project_app”
在 Linux 上你会得到“/var/www/dir/to/your/project_app”
我正式使用:
echo Yii::getAlias('@webroot').'/..';
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助别人
假设您的应用程序中有一个可写的"uploads"文件夹:
您可以像这样定义一个参数:
Yii::$app->params['uploadPath'] = realpath(Yii::$app->basePath) . '/uploads/';
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地使用参数:
$path1 = Yii::$app->params['uploadPath'] . $filename;
Run Code Online (Sandbox Code Playgroud)
根据您是否使用高级或简单模板,基本路径将是(遵循phazei提供的链接):
简单@app:您的应用程序根目录
高级@app:您的应用程序根目录(前端或后端或控制台,具体取决于您从哪里访问它)
这样,应用程序将比使用更便携 realpath(dirname(__FILE__).'/../../'));
归档时间: |
|
查看次数: |
114608 次 |
最近记录: |