php上传文件分类实例代码
发布:smiling 来源: PHP粉丝网 添加日期:2018-08-02 15:02:45 浏览: 评论:0
- <?php
- /**
- * 文件上传类
- * @author lijiamin
- * @time 2017-02-17
- * @email 1195989301@qq.com
- */
- classUpload{
- private$allowExt=array('gif','jpg','jpeg','bmp','png','swf');//限制文件上传的后缀名
- private$maxSize= 1;//限制最大文件上传1M
- /**
- * 获取文件的信息
- * @param str $flag 上传文件的标识
- * @return arr 上传文件的信息数组
- */
- publicfunctiongetInfo($flag){
- return$_FILES[$flag];
- }
- /**
- * 获取文件的后缀
- * @param str $filename 文件名
- * @return str 文件扩展名
- */
- publicfunctiongetExt($filename){
- returnpathinfo($filename,PATHINFO_EXTENSION);
- }
- /**
- * 检测上传文件是否合法
- * @param str $filename 文件名
- * @return bool 文件扩展名是否合法
- */
- privatefunctioncheckExt($filename){
- $ext=$this->getExt($filename);
- returnin_array($ext,$this->allowExt);
- }
- /**
- * 检测文件大小是否超过限制
- * @param int size 文件大小
- * @return bool 文件大小是否超过限制
- */
- publicfunctioncheckSize($size){
- return$size<$this->maxSize * 1024 * 1024;<!--$this--->
- }
- /**
- * 随机的文件名
- * @param int $len 随机文件名的长度
- * @return str 随机字符串
- */
- publicfunctionrandName($len=6){
- returnsubstr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,$len);
- }
- /**
- * 创建文件上传到的路径
- * @return str 文件上传的路径
- */
- publicfunctioncreateDir(){
- //上传文件路径
- $dir='./upload/'.date('Y/m/d',time());
- //判断文件夹是否存在,不存在则新建
- if(is_dir($dir) ||mkdir($dir,0777,true)){
- return$dir;
- }
- }
- /**
- * 文件上传
- * @param str $flag 文件上传标识
- * @return array 返回上传文件名、保存路径
- */
- publicfunctionuploadFile($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{
- returnarray('filename'=>$filename,'dir'=>$dir);
- }
- }
- }
- ?>
Tags: 实例 代码 文件
- 上一篇:php怎么打开上传的文件?
- 下一篇:php封装单文件上传到数据库(路径)
相关文章
- ·php 文件上传实例代码(2013-12-16)
- ·php初学者用文件上传实例(2013-12-23)
- ·PHP文件下载的小实例(2014-01-11)
- ·一个完美php文件上传类使用实例(2014-07-03)
- ·php文件上传实例(2014-07-05)
- ·PHP中上传多个文件到服务器实例(2014-07-13)
- ·php入门教程单文件上传与多文件上传实例(2014-07-22)
- ·PHP支持断点续传实例代码(2014-07-30)
- ·简单php文件上传实例(2014-08-15)
- ·php 文件上传简单实例应用(2014-08-16)
- ·php文件下载的应用实例(2014-08-17)
- ·php 文件上传实例代码(2014-08-17)
- ·php文件下载实例(2014-09-06)
- ·php文件上传简单实例(2014-09-09)
- ·图解PHP文件下载原理实例(2015-04-04)
- ·PHP实现文件的下载实例代码(2015-04-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)