首页 > 开发 > Java > 正文

php上传文件分类实例代码

2024-07-13 10:04:10
字体:
来源:转载
供稿:网友

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<?php/*** 文件上传类* @author lijiamin* @time 2017-02-17* @email 1195989301@qq.com*/class Upload{private $allowExt = array('gif','jpg','jpeg','bmp','png','swf');//限制文件上传的后缀名private $maxSize = 1;//限制最大文件上传1M/*** 获取文件的信息* @param str $flag 上传文件的标识* @return arr 上传文件的信息数组*/public function getInfo($flag){return $_FILES[$flag];}/*** 获取文件的后缀* @param str $filename 文件名* @return str 文件扩展名*/public function getExt($filename){return pathinfo($filename,PATHINFO_EXTENSION);}/*** 检测上传文件是否合法* @param str $filename 文件名* @return bool 文件扩展名是否合法*/private function checkExt($filename){$ext = $this->getExt($filename);return in_array($ext,$this->allowExt);}/*** 检测文件大小是否超过限制* @param int size 文件大小* @return bool 文件大小是否超过限制*/public function checkSize($size){return $size < $this->maxSize * 1024 * 1024;}/*** 随机的文件名* @param int $len 随机文件名的长度* @return str 随机字符串*/public function randName($len=6){return substr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,$len);}/*** 创建文件上传到的路径* @return str 文件上传的路径*/ public function createDir(){//上传文件路径$dir = './upload/'.date('Y/m/d',time());//判断文件夹是否存在,不存在则新建if(is_dir($dir) || mkdir($dir,0777,true)){return $dir;}}/*** 文件上传* @param str $flag 文件上传标识* @return array 返回上传文件名、保存路径*/public function uploadFile($flag){if($_FILES[$flag]['name'] === '' || $_FILES[$flag]['error'] !== 0){echo "没有上传文件";return;}$info = $this->getInfo($flag);if(!$this->checkExt($info['name'])){echo "不支持的文件类型";return;}if(!$this->checkSize($info['size'])){echo "文件大小超过限制";return;}$filename = $this->randName().'.'.$this->getExt($info['name']);$dir = $this->createDir();if(!move_uploaded_file($info['tmp_name'], $dir.'/'.$filename)){echo "文件上传失败";}else{return array('filename'=>$filename,'dir'=>$dir);}}}?>


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表