Php Yii-setPathOfAlias内的getPathOfAlias
我正在尝试将Yii中的别名路径设置为中的文件上载目录 testwebPhp Yii-setPathOfAlias内的getPathOfAlias,php,yii,Php,Yii,我正在尝试将Yii中的别名路径设置为中的文件上载目录 testweb -… -受保护的 -… -我的上传 所以我在protected/config/main.php中放了如下内容: Yii::setPathOfAlias('upload_dir', Yii::getPathOfAlias('webroot') . '/myupload'); 但是当我回显别名时,我只得到“/myupload” echo Yii::getPathOfAlias('upload_dir'); //only retu
-…
-受保护的
-…
-我的上传 所以我在protected/config/main.php中放了如下内容:
Yii::setPathOfAlias('upload_dir', Yii::getPathOfAlias('webroot') . '/myupload');
但是当我回显别名时,我只得到“/myupload”
echo Yii::getPathOfAlias('upload_dir'); //only returns /myupload
用这样的东西
Yii::setPathOfAlias('upload_dir', dirname(__FILE__) . DIRECTORY_SEPARATOR."..".DIRECTORY_SEPARATOR."myupload");
您不能在
main.php
配置文件中调用getPathFalias()
,因为路径别名是在of中创建的。但是在包含main.php
时,还没有调用构造函数
配置路径别名的正确方法是使用main.php
中的alias
属性。在您的情况下,您可以:
return array(
'aliases' => array(
'upload_dir' => 'webroot.myupload',
),
...
还要注意的是,您可以(也应该)对别名使用点表示法。在哪个文件中尝试?您可能是在
webroot
尚未定义的某个点上执行此操作的(虽然这发生得很早)。我在视图文件中回显了Yii::getPathFalias('webroot'),它返回了c:/xampp/htdocs/testweb/Yeah,但问题是,您在哪里调用setPathFalias()
。如果我理解正确,我将Yii::setPathFalias放在protected/config/main.php中?它返回了c:\xampp\htdocs\testweb\protected\config/。/../myupload:(我的应用程序我以为你在使用linux只是将斜杠改为windows变体。或者你可以使用我的最新代码不是我真正想要的,它返回了protected\config\..\..\..\myupload。我想要protected\myupload,但谢谢Michael给出了答案:)两者的意思是一样的。如果你只想在受保护的范围内,那么两个\…\就足够了。是的,他的答案是正确的,但我更喜欢在不使用其他别名的情况下设置它,因为它与样板模板(如yiiboolerplate YiiBooster等)一起工作。谢谢,你的代码可以工作,而不是使用setPathFalias()。在数组中设置别名后,我使用getPathFalias()获取/回显别名