thinkphp——上传图片

来源:互联网 发布:高晓松 阿里 知乎 编辑:程序博客网 时间:2024/06/07 18:53

这里贴出了一些上传图片可能需要的一些代码,仅供参考。

<?phpnamespace Home\Controller;use Think\Controller;class ImageUploadController extends Controller{            // 这个系统自带 框架带的    public function upload() {        // 注意此方法本身就支持多张图片的上传        $upload = new \Think\Upload();        $upload ->maxSize = 0; // 不限制图片的大小        // 错误的原因是没有将附加的格式写入,添加png到数组中即可,让服务器支持        $upload ->exts = array('jpg','gif','jpeg','png', 'zip');        $upload ->rootPath = '.ciellstorage/img/';        $upload ->savePath = 'header/';        $upload->saveName = array('uniqid',''); // 服务器自动生成一个唯一的文件名 算法 SHA-1类似算法唯一文件名        // 取消自动使用子目录保存上传文件        $upload ->autoSub = false;        //$upload->subName = array('date','Ymd');        $info = $upload -> upload();        if(!$info){            $reutnResult['code']= '0';            $reutnResult['message'] =$upload->getError();        }else {            $reutnResult['code']= '1';            $reutnResult['message'] = $info['user_header_image']['url'];            // 取出info里面的保存的图片名称进行进一步操作            // 保存文件名称到数据库中        }        $this ->ajaxReturn($reutnResult);    }        public function uploadFile() {        // 多文件上传可以实现        // $upload = new \Think\Upload();        $upload = new \Think\UploadFile();        //$upload -> maxSize = 3145782;        $upload -> allowExts = array('jpg','gif','png','jpeg');        // uniqid  time        $upload-> saveRule = 'uniqid';        $upload-> uploadReplace = true; //是否存在同名文件是否覆盖        // $upload -> rootPath = './Uploads/'        //$upload -> savePath = './userImage/';        $upload -> savePath = './Uploads/userImage/';        $upload -> autoSub = false;        $upload-> thumb = true;        $upload-> thumbPrefix = 's_';  //生产1张缩略图        //设置缩略图最大宽度        $upload-> thumbMaxWidth = '100';        //设置缩略图最大高度        $upload-> thumbMaxHeight = '100';            $upload-> thumbPath = './Uploads/userImage/';            $info = $upload -> upload();        if(!$info){            $reutnResult['code']= '0';            $reutnResult['message'] =$upload->getErrorMsg();        }else {            $reutnResult['code']= '1';            $uploadlist =  $upload->getUploadFileInfo();            $reutnResult['message'] =$uploadlist;            //对上传的图片添加水印            //考虑新浪云怎么实现图片的水印呢            //Storeage            //将2张图 选好添加水印            foreach ($uploadlist as $key => $value){                $source = $value['savepath'] . $value['savename'];                $water = './Uploads/water/logo.png';                // 图片源路径  水印图片                $isSuccess= \Think\UploadImage::water($source,$water);                $reutnResult[$key] = $isSuccess;            }            // 取出info里面的保存的图片名称进行进一步操作            // 保存文件名称到数据库中        }        $this ->ajaxReturn($reutnResult);    }}?>


0 0
原创粉丝点击