首页 > 代码库 > php部分---单文件上传的封装类
php部分---单文件上传的封装类
<?php$fileinfo=$_FILES["myfile"];function uploadfile($fileinfo,$allowext=array(‘jpeg‘,‘jpg‘,‘pnd‘,‘gif‘,‘wbmp‘),$flag=true,$maxsize=2097152){//判断错误信息if($fileinfo[‘error‘]>0){ switch($fileinfo[‘error‘]) { case 1: $mes= "上传文件超过了PHP配置文件中upload_max_filesize选项的值"; break; case 2: $mes= "超过了表单MAX_FILE_SIZE的限制大小"; break; case 3: $mes= "文件部分被上传"; break; case 4: $mes= "没有选择上传文件"; break; case 6: $mes= "没有找到临时目录"; break; case 7: case 8: $mes= "系统错误"; break; } exit($mes); }//判断上传文件类型是不是在规定类型中 $allowext=array(‘jpeg‘,‘jpg‘,‘pnd‘,‘gif‘,‘wbmp‘); //定义一下允许的上传文件类型 $ext=strtolower(end(explode(‘,‘,$fileinfo[‘name‘])));//截取上传文件扩展名 if(!in_array($ext,$allowext)) // 判断上传文件的扩展名是不是在定义类型中 { exit(‘非法文件类型‘); }//判断上传文件大小 $maxsize=2097152; //写最大的字节数,自己算 if($fileinfo[‘size‘]>$maxsize) { exit(‘上传文件过大‘); } //判断文件是否是通过HTTP POST方式上传上来的 if(!is_uploaded_file($fileinfo[‘tmp_name‘])) { exit(‘文件不是通过HTTP POST方式上传上来的‘); } //检测是否为真实的图片类型,而不是认为改动的 $flag=true; if($flag) { if(!getimagesize($fileinfo[‘tmp_name‘])) { echo "不是真实的图片类型"; } } //判断服务器上存储的文件夹在不在$path=‘uploads‘; //服务器上存储文件的文件名 if(!file_exists($path)) { mkdir($path,0777,true);//不存在就创建一个目录 chmod($path,0777);//加一个权限 }$uniname=md5(uniqid(microtime(true),true)).‘.‘.$ext; //通过MD5加密等措施给文件名取名,产生唯一文件名 $destination=$path.‘/‘.$uniname; if(!move_uploaded_file($fileinfo[‘tmp_name‘],$destination)) //上传文件 { echo "文件上传失败"; } return array( ‘newname‘=>$destination, ‘size‘=>$fileinfo[‘size‘], ‘type‘=>$fileinfo[‘type‘] ); }
php部分---单文件上传的封装类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。