2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 一个完整的php文件上传类实例讲解【PHP】

一个完整的php文件上传类实例讲解【PHP】

时间:2024-05-12 14:34:51

相关推荐

一个完整的php文件上传类实例讲解【PHP】

后端开发|php教程

php文件上传实例,文件上传实例

后端开发-php教程

这个文件上传类可以自定上传文件大小与上传文件类型及文件保存地址,在使用过程中有一个问题就是如果是中文文件名进行上传就会出现乱码,所以大家解决办法就是把页面保存成uft8即可解决。

在线播放视频插件源码,ubuntu 16蓝屏,如何配置Tomcat8.5,爬虫 人肉搜索,Php危险函数是什么,搜索引擎seo营销案例lzw

下面就是为大家分享的代码:

vc做的xml编辑器源码,ubuntu系统更改ip,爬虫宠物巨蜥,&lt,seo网络授课lzw

_filedir = is_dir($filedir) ? $filedir : \; if(empty($file) || !isset($file[size]) || $file[size] == 0) $this->error(NO_FILE); $this->_filesize = $file[size]; $this->_filename = $file[ ame]; $this->_filetmpname = $file[ mp_name]; $this->allowsize = $allowsize; $this->allowext = $allowext; $this->neednewname = ($neednewname) ? true : false; $this->newname = \; $this->report = $report; } function do_upload(){ if(!is_uploaded_file($this->_filetmpname)) $this->error(NO_FILE); if($this->chk_ext()){$this->error(NOT_ALLOW_EXT);return \; } if($this->chk_size()){$this->error(NOT_ALLOW_SIZE);return \; } if($this->neednewname) $this->newname = $this->generate_name().".".$this->get_fileext(); if($this->chk_hasfile()){$this->error(HAS_THE_FILE);return \; } $filename = empty($this->newname) ? @iconv(utf-8,gb2312,$this->_filename) : $this->newname; @chmod($this->_filedir.$filename, 0777); if(move_uploaded_file($this->_filetmpname, $this->_filedir.$filename)){return $this->result(); }else{$this->error(UPLOAD_FAILED);return \; } } function chk_ext(){ if(empty($this->allowext) || in_array($this->get_fileext(), explode("|",$this->allowext))) return false; return true; } function chk_size(){ if(empty($this->allowsize) || get_filesize allowsize*1024*1024) return false; return true; } function get_filesize(){ return $this->_filesize; } function get_fileext(){ return substr($this->_filename,strrpos($this->_filename,".")+1); } function generate_name(){ return substr(md5(time()),26); } function chk_hasfile(){ return is_file($this->_filedir.$this->_filename); } function error($tip){ echo $tip; } function result(){ if($this->report){$filename = empty($this->newname) ? $this->_filename : $this->newname;$arr = array(filename => $filename, filesize => $this->_filesize, ip => UPLOAD_SUCCESS);return $arr; }else{return UPLOAD_SUCCESS; } }}/***使用方法与参数说明***//*** 第一个参数$dir 为上传文件存放的路径 第二个参数为$_FILES 为你那个上传文件变量 第三个参数允许文件大小 单位为MB 第四个参数允许的文件类型 格式为jpg|png|gif 第五个参数是否需要生成新的文件名 第六个参数为返回的提示格式 0为直接提示上传正确 1则返回一个数组array(filename => $filename, filesize => $this->_filesize, ip => UPLOAD_SUCCESS);***///require("类文件");//$u = new file_uploader;//$u->ready($dir, $_FILES[upload_file], false, false, true, 0);//echo $u->do_upload();?>

万能建站系统php源码,Ubuntu软件换源,爬虫遇到前端渲染,php 设置模式,seo基础 知识lzw

调用方法

代码如下

$dir = upload/; require("upload_class.php"); $u = new file_uploader; $u->ready($dir, $_FILES[upload_file], false, false, true, 0); echo $u->do_upload();

补充说明:在编码上面还是有些问题,自己是在utf8的页面将数据进行提交的,所以生成的文件如果保持原来的中文名字的话在文件夹中看到就是乱码的名字,如果不想出现乱码的话需要进行一下编码的转换。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。