<?php
/**
* 页面作用:文件上传类,如果存在同名文件则替换
* 作 者:欣然随风
* 建立时间:2006-3-6
* 其它说明:
* 1、表单中 <input name="up" type="file">,name参数一定要为"up"
* 2、使用前请先检测是否选择了上传文件:$_FILES['up']['size']!==0?有选择:无选择;
*/
class class_ftp
{
public $file_ream; // 返回扩展名
public $err; // 返回上传信息
public $off = false; // 流程开关/上传成功与否开关
/*
参数设置: $file_max 上传文件最大容量(KB)
$file_dir 上传路径
$file_type 支持类型,例:$file_type = array("image/pjpeg","image/gif","**","**","**");
$file_name 上传后重命名称(不含扩展名)
*/
function __construct($file_max,$file_dir,$file_type,$file_name)
{
$file_size = $file_max * 1024; // 转为系统默认的字节
$num=sizeof($file_type); // 得出支持类型个数
// 检查文件类型
for($i=0;$i<$num;$i++)
{
if($file_type[$i] == $_FILES['up']['type'])
{
$this->off = true;
break;
}
}
if($this->off == false) $this->err = "此文件格式不支持!";
// 检查文件大小
if($this->off)
{
if($file_size < $_FILES['up']['size'])
{
$this->off = false;
$this->err = "文件大小不得超过".$file_max."K!";
}
}
//通过检查 复制文件到指定目录
if($this->off)
{
// 得到扩展名
switch($_FILES['up']['type'])
{
case "image/pjpeg": $this->file_ream=".jpg"; break;
case "image/gif": $this->file_ream=".gif"; break;
case "text/plain": $this->file_ream=".txt"; break;
case "application/msword": $this->file_ream=".doc"; break;
case "application/x-shockwave-flash": $this->file_ream=".swf"; break;
case "application/octet-stream": $this->file_ream=".fla"; break;
case "application/octet-stream": $this->file_ream=".rar"; break;
case "application/x-zip-compressed": $this->file_ream=".zip"; break;
case "application/octet-stream": $this->file_ream=".psd"; break;
}
// 复制上传文件
move_uploaded_file($_FILES['up']['tmp_name'],$file_dir.$file_name.$this->file_ream);
if($_FILES['up']['error'] == 0)
{
$this->err = "文件上传成功!";
}
else
{
$this->off = false;
$this->err = "文件上传失败,请重试!";
}
}
}
}//class end
?>