Home>Article>Backend Development> PHP file upload class example

PHP file upload class example

墨辰丷
墨辰丷 Original
2018-06-06 16:49:53 2213browse

This article mainly introduces PHP file upload class examples. Interested friends can refer to it. I hope it will be helpful to everyone.

The following is the code to share with you:

_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['name']; $this->_filetmpname = $file['tmp_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 <= $this->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, 'tip' => UPLOAD_SUCCESS); return $arr; }else{ return UPLOAD_SUCCESS; } } } /***使用方法与参数说明***/ /*** 第一个参数$dir 为上传文件存放的路径 第二个参数为$_FILES 为你那个上传文件变量 第三个参数允许文件大小 单位为MB 第四个参数允许的文件类型 格式为jpg|png|gif 第五个参数是否需要生成新的文件名 第六个参数为返回的提示格式 0为直接提示上传正确 1则返回一个数组array('filename' => $filename, 'filesize' => $this->_filesize, 'tip' => UPLOAD_SUCCESS); ***/ //require("类文件"); //$u = new file_uploader; //$u->ready($dir, $_FILES['upload_file'], false, false, true, 0); //echo $u->do_upload(); ?>

Calling method
The code is as follows

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

Summary: The above is the entire article Content, I hope it will be helpful to everyone’s study.

Related recommendations:

php uses curl to obtain data through a proxy

Several methods for PHP to obtain user access IP addresses Detailed explanation

Detailed explanation of commonly used array operation methods in PHP

The above is the detailed content of PHP file upload class example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn