您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php之文件上传类代码_PHP教程

2025/8/13 6:05:39发布19次查看
[php] 
/*   
单个文件上传
功能   
上传文件   
配置允许的后缀   
配置允许的大小
获取文件后缀   
判断文件的后缀   
报错   
*/    
class uptool{    
    protected $allowext = 'jpg,jpeg,gif,bmp,png';    
    protected $maxsize = 1; //1m ,以m为单位
protected $file = null; //准备储存上传文件信息    
    protected $errno = 0;  //错误代码    
    protected $error = array(    
            0=>'无错',    
            1=>'上传文件大小超出系统限制',    
            2=>'上传文件的大小超出网页表单限制',    
            3=>'文件只有部分被上传',    
            4=>'没有文件被上传',    
            6=>'找不到临时文件夹',    
            7=>'文件写入失败',    
            8=>'不允许的文件后缀',    
            9=>'文件大小超出类的允许范围',    
            10=>'创建目录失败',    
            11=>'文件移动失败'    
        );
/*   
    上传   
    */    
    public function up($key) {    
        if (!isset($_files[$key])) {    
            return false;    
        }    
        $f = $_files[$key];
//检验上传是否成功    
        if ($f['error']) {    
            $this->errno = $f['error'];    
            return false;    
        }
//获取后缀    
        $ext = $this->getext($f['name']);    
        //检查后缀    
        if (!$this->isallowext($ext)) {    
            $this->errno = 8;    
            return false;    
        }    
        //检查大小    
        if (!$this->isallowsize($f['size'])) {    
            $this->errno = 9;    
            return false;    
        }    
        //创建目录    
        $dir = $this->mk_dir();    
        if ($dir == false) {    
            $this->errno = 10;    
            return fasle;    
        }
//生成随机文件名    
        $newname = $this->randname() . '.' .$ext;    
        //$dir = $dir . '/' .$newname;    
        //移动    
        if(!move_uploaded_file($f['tmp_name'], $dir . '/' .$newname)) {    
            $this->errno = 11;    
            return false;    
        }    
        return true;//str_replace(root, '', $dir);    
    }
public function geterr(){    
        return $this->error[$this->errno];    
    }
/*   
    parm string $exts 允许的后缀   
    自动添加 允许的后缀,和文件的大小   
    */    
    public function setext($exts) {    
        $this->allowext = $exts;    
    }    
    public function setsize($num) {    
        $this->maxsize = $num;    
    }
/*   
        string $file   
    return string $ext 后缀    
    */
protected function getext($file) {    
        $tmp = explode('.', $file);    
        return end($tmp);    
    }    
    /*   
    string $ext 文件后缀   
    return bool   
    防止大小写的问题   
    */    
    protected function isallowext($ext) {    
        return in_array(strtolower($ext), explode(',', strtolower($this->allowext))) ;
}
/*   
        检查文件的大小   
    */    
    protected function isallowsize($size) {    
        return $size maxsize *1024*1024;    
    }    
    //按日期创建目录的方法    
    protected function mk_dir() {    
        $dir = 'images/' . date('ym/d');    
        if(is_dir($dir) || mkdir($dir,0777,true)) {    
            return $dir;    
        } else {    
            return false;    
        }    
    }
/*   
        生成随机文件名   
    */    
    protected function randname($length = 6) {    
        $str = 'abcdefghijkmnpqrstuvwxyz23456789';    
        return substr(str_shuffle($str),0,$length);    
    }
}  
form 表单
[html]
用户名:
头像:
另起页面调用
[php]  
require('./uptool.class.php');
$uptool = new uptool();    
$uptool->setext('rar,doc');    
$uptool->setsize(1);
if ($uptool->up('pic')) {    
    echo '上传成功';    
} else {    
    echo '失败';    
    echo $uptool->geterr();    
}
http://www.bkjia.com/phpjc/477843.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/477843.htmltecharticle[php] /* 单个文件上传 功能 上传文件 配置允许的后缀 配置允许的大小 获取文件后缀 判断文件的后缀 报错 */ class uptool{ protected $allowext = jp...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product