Month: September 2013
-
ThinkPHP 上传提示没有选择上传文件
首先请看清楚提示,如果你确保没有上传文件,但是又要保存数据时请使用一下方法: 因为我们再修改某条数据时,有可能只是改变了某个数据的文字信息,而其他的不想改变,这个时候如果有UploadFile方法就会报出:“没有选择上传文件”。Ho,No,我就是不想改变图片信息,那怎么通过呢?没关系其实很简单 找到ThinkPHP的包,找到UploadFile.class.php 一般路径是 ThinkPHP/Extend/Library/ORG/Net/UploadFile.class.php 找到文件的第186行,这里做了一个判断 if(!empty($file[‘name’])) {…………….} 对,这个就是判断有没有上传文件的。然后在这个if判断的后面加上如下红色部分代码 if(!empty($file[‘name’])) {…………….} else{ $fileInfo[] = null; $isUpload = true; } 这样如果上传文件是空的话也不会爆错,只是会返回一个空值。 然后我们在接收 $picInfo = $upload->getUploadFileInfo(); 时如果print_r($picInfo) 就会输出 Array([0]->) 对因为我测试的时候只是上传一张图,如果是多张图的话应该输出的是 (多张图都是空的) Array([0]-> [1]-> [2]->……) (中间有一张图不是空的) Array([0]-> [1]->Array(……) [2]->……) 好了,现在明白了吗?这样我们就可以在保存数据时判断了 $data=M('news'); if(count($picInfo[0])>0){ $data->PIC_1=$picInfo[0][‘savename’]; } if(count($picInfo[1])>0){ $data->PIC_2=$picInfo[1][‘savename’]; } 以此类推。 好了,问题解决了,希望我的小小发现能给大家带来点好处。
-
ThinkPHP 后台登陆验证全局设置【后台登陆验证判断适用于frame框架】
如果是在一个action中只要如下就OK了 class AdminAction extends Action { function _initialize() { $nopage=array('login','loginin');//例外页面 if (!session('?loginName')&&!in_array(ACTION_NAME,$nopage)) { //判断某个session是否存在,并排除登陆页面(这里的ACTION_NAME是获取系统参数用于获取当前的action) $this->redirect("Admin/login"); } } public function login(){ } public function loginin(){ } } 如果在分开的页面中 可以先写一个 class BaseAction extends Action { function _initialize() { $nopage=array('login','loginin');//例外页面 if…