海角不转弯

代码是梦想的砖

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

废话不说,总结开始

一、关于利用zend framework图片上传。

前台的表单或者jquery上传是必不可少的,我用的是jquery的uploadify作为网站传图片的前端。

现在只写控制器里的代码

第一步,创建Zend_File_Transfer_Adapter_Http()

$adapter=new Zend_File_Transfer_Adapter_Http();

第二步,创建该文件的存储路径--绝对路径

$path=APPLICATION_PATH.'/../public/uploads/images/';

$folder=New Zend_Search_Lucene_Storage_Directory_Filesystem($path);(该函数检查该路径是否存在,若不存在,则创建,若存在,则不创建)

第三步,获取文件信息

$fileinfo=$adapter->getFileInfo();

$ext=$this->_getExtension($fileInfo);(注:_getExtentsion是自定义的获取扩展名的函数);

第四步,新建文件名

$fileName=time().'.'.$ext;

第五步,添加过滤()//这一步我也不太明白原理

$adapter->addFilter('Rename',array('target'=>$fileName,'overwrite'=>true));

第六步,设置目标路径

$adapter->setDestination($path);

第七步,验证后缀名

$adapter->addValidator('Extension',false,array('jpg','gif','png','jpeg'));

最后一步,上传

$adapter->receive();//返回bool

 

二、关于用户验证(这个好久之前就应该写了,最近写后台部分时候回头看了看,发现有必要写一写

用户验证有很多方式不仅仅是数据库验证,因为我只接触了数据库验证,所以总结一下

第一步自然的,获取前端提交的username和password,分别存在$username , $password

第二步,获取数据库适配器

$db=Zend_Db_Table::getDefaultAdapter();

第三步,新建认证适配器

$authAdapter=new Zend_Auth_Adapter_DbTable($db,'users','username','password');

第四步,设置认证条件

$authAdapter->setIdentity($username)->setCretidential(md5($password));

第五步,关键---认证

$res=$authAdapter->authenticate();

第六步,存储认证

if($res->isValid()){

$auth=Zend_Auth::getinstance();

$storage=$auth->getStorage();

$storage->write($authAdapter->getResultRowObject(array(

'id','username','role_name'

)))

}

以后就可以在需要的时候直接用$auth->hasIdentity()进行登录判断,用getIdentity()获取认证存储的个人信息数据。

 

小总结,休息一下,再写...

 

 

 

 

posted on 2013-04-26 00:18  海角不转弯  阅读(186)  评论(0编辑  收藏  举报