我正在按照教程http://www.yiiframework.com/wiki/2/how-to-upload-a-file-using-a-model/上传文件.我写了以下代码:
$menuitem->attributes = $_POST['MenuItems'];
$menuitem->clientId = Yii::app()->user->clientId;
$menuitem->image = CUploadedFile::getInstance($menuitem, 'image');
if($menuitem->save()){
$menuitem->image->saveAs(
Yii::app()->getBasePath()."/../../".$menuitem->image->getName()
);
}
Run Code Online (Sandbox Code Playgroud)
但问题是,如果同一目录中存在同名文件,则文件既不会被覆盖也不会以不同的名称保存.我想要的是新图像说image.jpg,如果存在同名文件,则重命名为:image_1.jpg
可能吗 ?请回复.
我正在使用sails.js为iOS应用程序开发API,并使用websockets进行实时通信.问题是我无法让套接字握手工作.
控制台中显示"此套接字没有可用的有效会话"错误.当我用谷歌搜索了一下后,我才知道我需要设置一个有效的cookie.由于我的客户端不是基于浏览器的Javascript,我无法设置任何cookie.
我甚至设置authorization: false在config/sockets.js
这有什么解决方案吗?或者选择Sails JS来完成这项任务是个错误?
顺便说一句,这些是我遇到这个问题的一些链接:
https://github.com/balderdashy/sails/issues/1062 https://github.com/balderdashy/sails/issues/995 https://github.com/balderdashy/sails/issues/1003
我正在为我正在开发的网站开发OAUTH 2 REST API.我们有一个使用此API的官方原生移动应用程序,并计划向第三方开发人员开放API.我们的原生移动应用程序将拥有比第三方应用程序更多的权限.我是通过根据客户端ID或应用程序ID设置权限来实现的.我password grant type用于官方应用程序和implicit grant type第三方应用程序.
但问题在于,由于我们client_secret在任何一种情况下都没有使用,第三方可能通过某种方式窃取我们的官员client_id并使用它来访问官方应用程序独有的API中的提升权限来获得提升的权限.
反正有没有阻止他们这样做?官方Facebook或Twitter应用程序如何做到这一点?
如何在JQPlot中自定义图形周围的黑色边框?我广泛搜索CSS文件,找不到任何东西.
[UPDATE]
如果你不明白我的意思,请看这个图像:http: //img339.imageshack.us/img339/5796/jqplot.png
谢谢
我正在Yii建立一个网站,我被困在用户身份验证步骤.无论我做什么,我都无法验证用户身份或在会话中存储一些价值.
我的UserIdentity组件如下:
class UserIdentity extends CUserIdentity
{
private $_id;
public function authenticate(){
if(($userRecord = Admin::model()->findByAttributes(array('username'=>$this->username)))===null){
return $this->errorCode=self::ERROR_USERNAME_INVALID;
}
if($userRecord->password!=hash('sha256', $this->password)){
return $this->errorCode=self::ERROR_PASSWORD_INVALID;
}
$this->_id=$userRecord->id;
$this->setState('title', $userRecord->username);
Yii::app()->session['clientId'] = $userRecord->clientId;
Yii::app()->session['id'] = $userRecord->id;
Yii::app()->session['loggedin'] = true;
return $this->errorCode=self::ERROR_NONE;
}
public function getId(){
return $this->_id;
}
}
Run Code Online (Sandbox Code Playgroud)
我Yii:app()->user->isGuest总是返回true并且Yii::app()->user->id什么都不返回.
这就是我尝试使用Yii::app()->session['loggedin']身份验证的原因.但即使这样也行不通.当我像这样访问会话数组时,Yii::app()->session我得到了错误Property "CWebUser.session" is not defined..
这真的令人沮丧.我是Yii的新手.请帮忙.
我有两个表menus和lang_menus.我的Menus模型如下:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'menulanguages'=>array(self::HAS_MANY, 'MenuLangs', 'menuId'),
);
}
...
public function getMenus(){
$criteria = new CDbCriteria();
$criteria->condition = "t.clientId = ".Yii::app()->user->clientId." AND menulanguages.languageId = ".Yii::app()->user->userlanguage;
$count = Menus::model()->with('menulanguages')->count($criteria);
$pages=new CPagination($count);
//Results per page
$pages->pageSize=10;
$pages->applyLimit($criteria);
$menus = Menus::model()->with('menulanguages')->findAll($criteria);
return array('menus' => $menus, 'paging' => $pages);
}
Run Code Online (Sandbox Code Playgroud)
这是抛出错误Unknown …
我正在使用Apache Solr的4.4版本.如Solr文档中所述
Run Code Online (Sandbox Code Playgroud)<fieldType name="text_keyword" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.KeywordRepeatFilter"/> <filter class="solr.PorterStemFilterFactory"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> </analyzer> </fieldType>
我正在使用上面的代码.但是,由于我收到错误,"KeywordRepeatFilter"似乎存在一些问题
org.apache.solr.common.SolrException:[schema.xml] fieldType"text_keyword"的插件初始化失败:[schema.xml] analyzer/filter的插件初始化失败:在org.apache中加载类'solr.KeywordRepeatFilter'时出错. solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)位于org.apache.solr.schema.IndexSchema的org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:467).(IndexSchema.java :164)at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
但是当我删除solr.KeywordRepeatFilter行时,一切似乎都运行正常.任何人都可以告诉我有什么问题.是否从Solr 4.4中删除了"solr.KeywordRepeatFilter"?
我正在使用Kohana 3.2进行我正在进行的项目.我是这个框架的新手.在搜索文档以进行验证时,我找到了以下页面:
http://kohanaframework.org/3.1/guide/kohana/security/validation
在该页面中,他们使用内置的辅助函数来生成表单.我遵循了那个教程,但我很惊讶地看到,即使在使用表单助手函数之后,我不得不循环遍历errors数组并逐个显示错误.这与Yii非常不同,Yii会自动在表单字段旁边显示错误消息,并且还会智能地应用基本的javascript验证.
因此,我的问题是在Kohana框架中使用表单助手函数有什么意义?还是我错过了一些其他目的?
在我正在创建的yii网站中,我有一个带有网址的页面,该网页以http://localhost/administrator/restaurant/list
表格格式显示餐馆列表以及删除按钮.删除按钮指向http://localhost/administrator/restaurant/delete/<id>.
在actionDelete我的控制器如下:
public function actionDelete(){
$model = Restaurants::model()->findByAttributes(
array(
'id'=>$_GET['id'],
'clientId'=>Yii::app()->user->clientId
));
$model->delete();
Yii::app()->user->setFlash('success',Yii::t('error','Restaurant has been deleted successfully'));
$this->redirect('restaurant/list',true);
}
Run Code Online (Sandbox Code Playgroud)
但是在单击"删除"按钮时,该行将从数据库中成功删除,但不是重定向到http://localhost/administrator/restaurant/list页面,而是重定向到http://localhost/administrator/restaurant/delete/restaurant/list并显示错误.我实现重定向功能的方式有问题吗?