Thinkphp头像上传到用户文件下

来源:互联网 发布:局域网共享设置软件 编辑:程序博客网 时间:2024/05/01 11:12

处于学习阶段,希望各位大神多多指点小弟,哪个地方方法没用对,哪个地方PHP本来就有这样的函数,或者不符合正常写法

欢迎指出,再次感谢您的指导与分享!

以下代码不能直接运行,需配合Thinkphp框架,主要数据表不与实际项目完全一样

实现功能:Thinkphp下,提供一个对安卓的API接口,上传用户头像,在指定目录下,自动生成以用户名命名的文件夹,并保存其中,路径保存在数据库,数据采用JSON传输,这里暂不考虑传输安全等问题
        首先接收LoginID、Password并在用户表里验证是否合法
        然后获取当前跟目录,保存为$RootDir,通过PHP字符串拼凑出文件存放的主目录
        这里,我存在myweb\Public\Headimage\usergroup 下面
首先获取当前文件目录,保存起来后,切换到文件保存目录,并检查是否存在以用户名命名的文件夹,若不存在
则生成以用户名命名的文件夹,然后切换回到当前文件目录,否则后面的上传操作无法执行

<?php/** * PHPlearn nodes.  PHP学习笔记 * @category  Thinkphp下,上传用户头像问题 * @author    Demo.Zhang  */// +----------------------------------------------------------------------function uploadimgs() {        $LoginID = I('LoginID');        $Password=md5(I('PSD'));        $where = array('LoginID' => $LoginID,'Password'=>$Password);        $tab = M('用户表');        $userStatus = $tab->where($where)->find();        if($userStatus){            if($userStatus){        $RootDir = $_SERVER['DOCUMENT_ROOT']; //目录操作                $HeadRootDir="$RootDir" ."myweb\Public\Headimage\usergroup";                $myDir=str_replace("\\","/","$HeadRootDir");        $nowPath=getcwd();                chdir("$myDir");                if(!is_dir("$LoginID")){                   mkdir("$LoginID");                }        chdir("$nowPath");                if (isset($_FILES['Headimage'])) {                    //$field = $_POST['field'];                    $filename = $_POST['Headimage'];                    //文件上传配置                    import('ORG.Net.UploadFile');                    $upload = new UploadFile(); // 实例化上传类                    $upload->maxSize =1024*1024*500; // 设置附件上传大小                    $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型                    $upload->allowTypes = array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/gif');                    $upload->savePath = '.myweb\Public\Headimage\usergroup' .$LoginID .'/'; // 设置附件上传目录                    $upload->saveRule = 'time';                    $upload->thumb = true;                    $upload->thumbPath = '.myweb\Public\Headimage\usergroup' .$LoginID .'/';                    $upload->thumbPrefix = 'm';                    $upload->thumbMaxWidth = '100';                    $upload->thumbMaxHeight = '100';                    $upload->thumbRemoveOrigin = FALSE;                     if (!$upload->upload()) {                        $this->error($upload->getErrorMsg());                    } else {                        $info = $upload->getUploadFileInfo();                    }                    $Headimage = __PUBLIC__ . '/images/Headimage/coach/' .$LoginID .'/m' .$info[0]['savename'];                    $save = array(                        'Imagepath' => $Headimage,                    );                    $id = $tab->where($where)->setField($save);                    if ($id > 0) {                        $json['info']="Upload success";                        $json['status']=100;                    } else {                        $json['info']="Upload fail";                        $json['status']=200;                    }                }            }        }        else{            $json['info']="Invalid Loginstatus!";            $json['status']=300;        }        echo json_encode($json);    }

0 0
原创粉丝点击