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…