文件上传(单个或多个)
时间:2006-12-24 来源:gewanhong
中的"upfile"
也可以控件是数组,如
*/
function UPLOAD_CLASS($input_name='')
{
if($input_name == '')
{
echo 'UPLOAD_CLASS类构造出错:请指定表单中FILE控件的名称!如: $up = new UPLOAD_CLASS("up_file");';
}
$this->input_name = $input_name;
}
/* 设置最大上传的文件大小 */
function set_size($max_size)
{
$this->max_size = $max_size * 1024;
}
/* 设置上传文件的扩展名集合 */
function set_fexts($exts)
{
$this->fexts = $exts;
}
/* 设置目标文件存在时是否删除 */
function set_del($bool)
{
$this->is_del = $bool;
}
/* 功能:上传文件操作
参数:$dst_file:上传后的目标文件名,如果没有加扩展名则上传时自动加上原文件扩展名.
如果FILE控件是数组,则 $dst_file 为目标文件个数与上传的文件数匹配的数组,如下:
array('./img/a.jpg','./img/b.jpg') 也可为 array('./img/a','./img/b')
返回值: [-1]成功 [0]:没有上传的文件 [1]:文件超过大小 [2]:不是指定的类型
[3]:目标文件已存在 [4]:目标文件不能写入 [5]:目标文件个数与上传的文件数不匹配
*/
function upload($dst_file)
{
$ay = $_FILES[$this->input_name]['name'];
if(is_array($ay)) //表单中的FILE控件是数组
{
if( !is_array($dst_file) || count($ay) != count($dst_file) ) return 5;
$tmp_ay = array(); //临时数组保存暂时已上传成功的文件名,用于所有文件没有完全上传成功的情况删除它们
$ret = -1;
foreach($ay as $key=>$val)
{
$file_name = $_FILES[$this->input_name]['name'][$key]; //上传的原文件名
$file_size = $_FILES[$this->input_name]['size'][$key]; //上传后的临时文件名
$tmp_file = $_FILES[$this->input_name]['tmp_name'][$key];//文件大小
if($file_name != '') //该控件上传了文件
{
$ret = $this->_upload($file_name,$tmp_file,$file_size,$dst_file[$key]);
if( $ret != -1 ) //如果文件没有上传成功,就要删除已经上传的文件
{
for($i=0; $iinput_name]['name']; //上传的原文件名
$tmp_file = $_FILES[$this->input_name]['tmp_name'];//上传后的临时文件名
$file_size = $_FILES[$this->input_name]['size']; //文件大小
return $this->_upload($file_name,$tmp_file,$file_size,$dst_file);
}
}
/* 功能:得到已上传成功的文件名,多个用","隔开
参数: $flg [0]:文件名有完整的路径 [1]:文件名不带路径
*/
function uploaded_files($flg=0)
{
$files = '';
if( $flg == 0 )
{
$files = $this->uploaded_file;
}else{
$ay=explode(',',$this->uploaded_file);
for($i=0; $i
/* 得到上传的信息,如果FILE控件是个数组,则返回的是个二维数组,否则返回是一级数组 */
function &uploadInfo()
{
$ay=array();
if(!is_array($_FILES[$input_name]['name']))
{
$ay['name'] = $_FILES[$this->input_name]['name'];
$ay['ext'] = strtolower(strrchr($ay['name'],'.'));
$ay['type'] = $_FILES[$this->input_name]['type'];
$ay['size'] = $_FILES[$this->input_name]['size'];
$ay['tmp_name'] = $_FILES[$this->input_name]['tmp_name'];
}else{
foreach($_FILES[$input_name]['name'] as $i=>$val)
{
$ay[$i]['name'] = $_FILES[$this->input_name]['name'][$i];
$ay[$i]['ext'] = strtolower(strrchr($ay[$i]['name'],'.'));
$ay[$i]['type'] = $_FILES[$this->input_name]['type'][$i];
$ay[$i]['size'] = $_FILES[$this->input_name]['size'][$i];
$ay[$i]['tmp_name'] = $_FILES[$this->input_name]['tmp_name'][$i];
}
}//End If
return $ay;
}
/* 功能: 得到上传的状态,数组包含 总的上传个数 和 真实文件个数(FILE控件数组中选择的文件数)
返回: $ay['sum']:总的上传个数 $ay['up']:真实文件个数
*/
function &upload_state()
{
$ay=array('sum'=>0,'up'=>0);
if(!is_array($_FILES[$this->input_name]['name']))
{
$ay['sum']++;
if( $_FILES[$this->input_name]['name'] != '' ) $ay['up']++;
}else{
foreach($_FILES[$this->input_name]['name'] as $i=>$val)
{
$ay['sum']++;
if( $_FILES[$this->input_name]['name'][$i] != '' ) $ay['up']++;
}
}//End If
return $ay;
}
/* 得到小写的文件扩展名,如".php" */
function file_ext($file_name)
{
return strtolower(strrchr($file_name,"."));
}
/* -私有?
也可以控件是数组,如
*/
function UPLOAD_CLASS($input_name='')
{
if($input_name == '')
{
echo 'UPLOAD_CLASS类构造出错:请指定表单中FILE控件的名称!如: $up = new UPLOAD_CLASS("up_file");';
}
$this->input_name = $input_name;
}
/* 设置最大上传的文件大小 */
function set_size($max_size)
{
$this->max_size = $max_size * 1024;
}
/* 设置上传文件的扩展名集合 */
function set_fexts($exts)
{
$this->fexts = $exts;
}
/* 设置目标文件存在时是否删除 */
function set_del($bool)
{
$this->is_del = $bool;
}
/* 功能:上传文件操作
参数:$dst_file:上传后的目标文件名,如果没有加扩展名则上传时自动加上原文件扩展名.
如果FILE控件是数组,则 $dst_file 为目标文件个数与上传的文件数匹配的数组,如下:
array('./img/a.jpg','./img/b.jpg') 也可为 array('./img/a','./img/b')
返回值: [-1]成功 [0]:没有上传的文件 [1]:文件超过大小 [2]:不是指定的类型
[3]:目标文件已存在 [4]:目标文件不能写入 [5]:目标文件个数与上传的文件数不匹配
*/
function upload($dst_file)
{
$ay = $_FILES[$this->input_name]['name'];
if(is_array($ay)) //表单中的FILE控件是数组
{
if( !is_array($dst_file) || count($ay) != count($dst_file) ) return 5;
$tmp_ay = array(); //临时数组保存暂时已上传成功的文件名,用于所有文件没有完全上传成功的情况删除它们
$ret = -1;
foreach($ay as $key=>$val)
{
$file_name = $_FILES[$this->input_name]['name'][$key]; //上传的原文件名
$file_size = $_FILES[$this->input_name]['size'][$key]; //上传后的临时文件名
$tmp_file = $_FILES[$this->input_name]['tmp_name'][$key];//文件大小
if($file_name != '') //该控件上传了文件
{
$ret = $this->_upload($file_name,$tmp_file,$file_size,$dst_file[$key]);
if( $ret != -1 ) //如果文件没有上传成功,就要删除已经上传的文件
{
for($i=0; $iinput_name]['name']; //上传的原文件名
$tmp_file = $_FILES[$this->input_name]['tmp_name'];//上传后的临时文件名
$file_size = $_FILES[$this->input_name]['size']; //文件大小
return $this->_upload($file_name,$tmp_file,$file_size,$dst_file);
}
}
/* 功能:得到已上传成功的文件名,多个用","隔开
参数: $flg [0]:文件名有完整的路径 [1]:文件名不带路径
*/
function uploaded_files($flg=0)
{
$files = '';
if( $flg == 0 )
{
$files = $this->uploaded_file;
}else{
$ay=explode(',',$this->uploaded_file);
for($i=0; $i
/* 得到上传的信息,如果FILE控件是个数组,则返回的是个二维数组,否则返回是一级数组 */
function &uploadInfo()
{
$ay=array();
if(!is_array($_FILES[$input_name]['name']))
{
$ay['name'] = $_FILES[$this->input_name]['name'];
$ay['ext'] = strtolower(strrchr($ay['name'],'.'));
$ay['type'] = $_FILES[$this->input_name]['type'];
$ay['size'] = $_FILES[$this->input_name]['size'];
$ay['tmp_name'] = $_FILES[$this->input_name]['tmp_name'];
}else{
foreach($_FILES[$input_name]['name'] as $i=>$val)
{
$ay[$i]['name'] = $_FILES[$this->input_name]['name'][$i];
$ay[$i]['ext'] = strtolower(strrchr($ay[$i]['name'],'.'));
$ay[$i]['type'] = $_FILES[$this->input_name]['type'][$i];
$ay[$i]['size'] = $_FILES[$this->input_name]['size'][$i];
$ay[$i]['tmp_name'] = $_FILES[$this->input_name]['tmp_name'][$i];
}
}//End If
return $ay;
}
/* 功能: 得到上传的状态,数组包含 总的上传个数 和 真实文件个数(FILE控件数组中选择的文件数)
返回: $ay['sum']:总的上传个数 $ay['up']:真实文件个数
*/
function &upload_state()
{
$ay=array('sum'=>0,'up'=>0);
if(!is_array($_FILES[$this->input_name]['name']))
{
$ay['sum']++;
if( $_FILES[$this->input_name]['name'] != '' ) $ay['up']++;
}else{
foreach($_FILES[$this->input_name]['name'] as $i=>$val)
{
$ay['sum']++;
if( $_FILES[$this->input_name]['name'][$i] != '' ) $ay['up']++;
}
}//End If
return $ay;
}
/* 得到小写的文件扩展名,如".php" */
function file_ext($file_name)
{
return strtolower(strrchr($file_name,"."));
}
/* -私有?
相关阅读 更多 +
排行榜 更多 +