php 一个文件多个类,php文件上传类(该类支持单个或者多个文件上传)

无标题文档

*/

class upfile {

public $fcount = 1;           //上传文件的数量

public $ftype  = array('jpg','jpeg','gif','png');  //文件格式

public $fsize  = 1024;          //文件大小单位kb

public $fdir   = 'www.111com.net/';         //文件存放目录

public $errormsg = '';          //产生的临时错误信息

/**

*函数名:get_tmp_file($putfile)

*作用:取得上传的临时文件名

*@param array $putfile

*@return string $upimg 返回临时文件名

*/

function get_tmp_file($putfile){

if($this->fcount == 1){

$tmpfile = $putfile['tmp_name'];

}else{

for($i=0;$ifcount;$i++){

$tmpfile[] = $putfile['tmp_name'][$i];

}

}

return $tmpfile;

}

/**

*函数名:get_suffix($filename)

*作用:取得文件的后缀名

*@param file $filename

*@return string $suffixname 返回后缀名

*/

function get_suffix($filename){

$link = pathinfo($filename);

$suffixname = strtolower($link['extension']);

return $suffixname;

}

/**

*验证文件大小

*@author 赵红健

*@param $filesize

*@return booln

*/

function check_file_size($filesize){

$this->errormsg = '';

if($filesize/1000 > $this->fsize){

$this->errormsg = '警告:文件超出大小!';

return false;

}else{

return true;

}

}

/**

*验证文件类型是否合法

*@author 赵红健

*@param $filesuffix

*@return booln

*/

function check_file_suffix($filesuffix){

$this->errormsg = '';

if(!in_array($filesuffix,$this->ftype)){

$this->errormsg = '警告:文件类型不在允许范围内!';

return false;

}else{

return true;

}

}

/**

*移动临时文件

*@author 赵红健

*@param $filesuffix

*@return booln

*/

function move_temp_file($tmpfile,$targetfile){

$this->errormsg = '';

if(!move_uploaded_file($tmpfile,$targetfile)){

$this->errormsg = '警告:文件移动失败!';

return false;

}else{

return true;

}

}

/**

*函数名:update_file($putfile)

*作用:上传文件

*@param array $putfile

*@return array 文件信息

*/

function update_file($putfile){

$tmpfile = $this->get_tmp_file($putfile);

if(!file_exists($this->fdir)){

$this->errormsg[] = '错误:目录'.$this->fdir.'不存在';

return $this->errormsg;

}

$this->fdir = substr($this->fdir,strlen($this->fdir)-1,1)=='/'?$this->fdir:$this->fdir.'/';

if(!is_array($putfile['size'])){

$fileinfo['file_size'] = $putfile['size'];

if(!$this->check_file_size($fileinfo['file_size'])){

$fileinfo['error'] = $this->errormsg;

return $fileinfo;

}

$fileinfo['file_suffix'] = $this->get_suffix($putfile['name']);

if(!$this->check_file_suffix($fileinfo['file_suffix'])){

$fileinfo['error'] = $this->errormsg;

return $fileinfo;

}

$fileinfo['file_name']   = date('ymdhms').'.'.$fileinfo['file_suffix'];

if(!$this->move_temp_file($tmpfile,$this->fdir.$fileinfo['file_name'])){

$fileinfo['error'] = $this->errormsg;

return $fileinfo;

}

return $fileinfo;

}else{

for($i=0;$ifcount;$i++){

$fileinfo[$i]['file_size'] = $putfile['size'][$i];

if(!$this->check_file_size($fileinfo[$i]['file_size'])){

$fileinfo[$i]['error'] = $this->errormsg;

continue;

}

$fileinfo[$i]['file_suffix'] = $this->get_suffix($putfile['name'][$i]);

if(!$this->check_file_suffix($fileinfo[$i]['file_suffix'])){

$fileinfo[$i]['error'] = $this->errormsg;

continue;

}

$fileinfo[$i]['file_name']  = date('ymdhms').rand().'.'.$fileinfo[$i]['file_suffix'];

if(!$this->move_temp_file($tmpfile[$i],$this->fdir.$fileinfo[$i]['file_name'])){

$fileinfo[$i]['error'] = $this->errormsg;

continue;

}

}

return $fileinfo;

}

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值