• 大头照上传预览,并操作数据库和删除文件夹中存储的之前的图片;$_SERVER['DOCUMENT_ROOT']上传图片和删除图片的时候不要用绝对路径,可以用这个路径


        //大头照图片的上传预览,更换之后删除原图片,更换为新上传图片
        public function upload() {
            $nn = session( username );
            $xc = M( "users" );
            $datas['username']=$nn;
            $cc = $xc->where($datas)->find();
            
            $upload = new Think Upload(); // 实例化上传类
            $upload->maxSize = 3145728; //设置上传文件的大小
            $p = $upload->rootPath = './data/upload/portal'; //相对路径
            $sp = $patht = $upload->savePath = '/'; //和rootPath配合使用,路径为./Public/Uploads
            $upload->saveName = array( 'uniqid', '' ); //上传文件的保存规则,支持数组和字符串方式定义
            $upload->exts = array( 'jpg', 'gif', 'png', 'jpeg' ); //上传文件的类型
            $upload->autoSub = true; //自动使用子目录保存上传文件 默认为true,
            $upload->subName = array( 'date', 'Ymd' ); //子目录创建方式,采用数组或者字符串方式定义,和autosub配合使用
            $info = $upload->upload();
            $inf = $info[file0];
            if ( !$info ) { // 上传错误提示错误信息 ,实际上为客户没有上传图片,系统默认保存图片,else为客户上传图片,save图片路径  
                $this->error($upload->getError());  
                //$this->error( '上传失败,请重新上传!',__ROOT__."/", 0 );
            }else{
                $savepath = substr( $inf[ 'savepath' ], 1, -1 );
                $sta = '/data/upload/portal/'.$savepath."/".$inf['savename'];//图片存到数据库的路径,/data/upload/portal/20180304/5a9ba2a07c612.jpg
                //dump($sta);die();
                if(empty($cc['smeta'])){
                    $wh[ 'id' ] = $cc['id'];//$CC['id']为主键值,必须根据主键值存储到数据库,别的字段无效
                    $wh[ 'smeta' ] = $sta;
                    $xc->save( $wh );
                }else{
                    $a = $xc->where('id='.$cc['id'])->find();
                    $strurl = substr(__ROOT__,1);
                    $url=$_SERVER['DOCUMENT_ROOT'].$strurl.$a['smeta'];//绝对路径,E:/wamp/www/thb/data/upload/portal/20180304/5a9ba2a07c612.jpg,$_SERVER['DOCUMENT_ROOT'] = E:/wamp/www/,$_SERVER['DOCUMENT_ROOT']这个函数可以在不同的环境中读取到根目录的绝对路径,省却改变环境后再来改变此路径
                    unlink($url);//执行删除文件
                    $wh[ 'id' ] = $cc['id'];
                    $wh[ 'smeta' ] = $sta;
                    $xc->save( $wh );//把新路径存储到数据库
                }
                //session( null );
                redirect(U('list/index',array('id'=>8)));
            }
        }
    View Code
  • 相关阅读:
    UIView用户事件响应
    登录模块之静态登录
    对C# 中Readonly的再认识
    [Android学习笔记4]四大应用组件之一:Service 上
    修改XPMenu让ToolButton在Down=True时正确显示
    通过程序预览Office文档
    发掘ListBox的潜力(三):显示即时提示(Tips)
    从网络上下载文件的两种方法
    解决窗体闪烁问题的方法
    C/C++中动态链接库的创建和调用
  • 原文地址:https://www.cnblogs.com/cuizhenyu/p/8504970.html
Copyright © 2020-2023  润新知