今晚刚完成的 文件上传的类 推荐
klggg 2004-09-01 07:33:52 文件里有详细的说明。可以直接测试.
下载地址 :
http://202.101.43.198/ggg/wcg/attachment.php?=e6c6bbd585ecf4123298dc78fdf3556c&postid=126
源代码
<?
/**+-----------------------------------------------
** Copyright (c) 1998-1999 *********公司技术开发部
创建人: GGG
日 期: 2004-8-31 0:25
修改人: GGG
日 期: 2004-8-31 0:25
描 述: 实现文件上传的类
调 用:
备 注:
可以上传文件到网上指定目录,如果是图片只允许上传gif,jpg类型
程序要完成的几点:
如果上传的文件名和网上目录下的名称重复,对上传的文件进行改名,
这里采用文件名后加0-9的数字方法.
对于上传图片文件,
版 本:
1.0
**+-----------------------------------------------
*/
if(!defined("CLASS_GggFileUpload"))
{
define("CLASS_GggFileUpload","1");
class GggFileUpload
{
var $mIsDebug=true; //设置调试状态,在类中调试会有错,不要在类中调试false
var $mStrErr=""; //出错的文本信息,如果IsDebug为真,则在出错后自动中止程序执行,输出错误信息
var $mIsFileRight=false; //ture将保证上传后的文件名只能由字母,数字,上下划线,点号组成
var $mIsFileLower=true; //ture将把文件名采用小写,在由于win与unix系统对文件名大小字敏感不同,会在下载文件时出现很多麻烦
var $mMaxFileNameLen=30; //文件名允许的最大长度
var $ExtFilter=array('php' => 'php_'); //这里设置要过虑的扩展名,比如所用户上传的 .php 的文件改成 .php_ 程序采用替换的的方法 比如 .php3 的会变被换成 .php_3
var $mInputName; //<input type=file name=aaa> 所对应的aaa, *保存的是一个字符窜
var $mFileType; //文件上传的类型
var $mFileSize; //文件上传的大小
var $mFileName; //文件上传的名字
var $mFileTmpName; //文件上传后的临时名
var $mFileUpPath; //文件要上传服务器地址
var $mFileUpType; //文件上传所允许的类型
var $mFileUpSize; //文件上传所允许的最大字节
var $mFileUpName; //文件上传后所用的名字,也就是要更改成的名字
var $mErrorFile="failt"; //文件名不法时更改成在 mErrorFile 为开始的文件名
/**+-----------------------------------------------
函 数 名: GggFileUpload
功能描述: GggFileUpload初始化
函数说明: 类的构造函数 用于初始化类的成员变量
调用函数: GggFileUpload()
参数:
$inputName
<input type=file name=aaa> 所对应的aaa, 保存的是一个字符窜
$fileUpPath
文件要上传服务器地址
$fileUpType
文件上传所允许的类型
$fileUpSize
文件上传所允许的最大字节 默认为 150000 字节
返 回: 无
设 计 者: ggg 日期: 2004-9-1 1:17
修 改 者: ggg 日期: 2004-9-1 1:17
版 本: 1.0
**+-----------------------------------------------
*/
function GggFileUpload($inputName,$fileUpPath,$fileUpType="",$fileUpSize=150000)
{
$this->Set_File($inputName);
$this->Set_FileUpPath($fileUpPath);
$this->Set_FileUpSize($fileUpSize);
$this->Set_FileUpType($fileUpType);
}//END GggFileUpload
function Show_Debug()
{
if($this->mIsDebug && !empty($this->mStrErr))
printf("<br>Debug:<font color=#ff00ff> %s</font><br>\n", $this->mStrErr);
}
//********************** Set 区
//设置文件的属性
function Set_File($inputName)
{
if(!empty($inputName))
{
$this->mInputName=$inputName; //<input type=file name=aaa> 所对应的aaa, *保存的是一个字符窜
$this->mFileType=$_FILES[$inputName]["type"]; //文件上传的类型
$this->mFileSize=$_FILES[$inputName]["size"]; //文件上传的大小
$this->mFileName=$_FILES[$inputName]["name"]; //文件上传的名字
$this->mFileTmpName=$_FILES[$inputName]["tmp_name"]; //文件上传后的临时名
}
}
//设置文件文件名
function Set_FileName($filename)
{
if(!empty($filename))
$this->mFileName=trim($filename);
}
//设置文件要上传服务器地址
function Set_FileUpPath($fileUpPath)
{
if(!empty($fileUpPath))
$this->mFileUpPath=trim($fileUpPath);
}
//设置文件上传所允许的最大字节
function Set_FileUpSize($fileUpSize)
{
if(!empty($fileUpSize) && ereg("^[1-9][0-9]*$",$fileUpSize))
$this->mFileUpSize=$fileUpSize;
}
//设置文件上传所允许的类型
function Set_FileUpType($fileUpType)
{
if(!empty($fileUpType))
$this->mFileUpType=trim($fileUpType); //文件上传所允许的类型
}
//********************** Get 区
//得到文件名
function Get_FileName()
{
return $this->mFileName;
}
//得到文件的类型
function Get_FileType()
{
return $this->mFileType;
}
//得到文件的大小
function Get_FileSize()
{
return $this->mFileSize;
}
//文件上传后的临时名
function Get_FileTmpName()
{
return $this->mFileTmpName;
}
//得到文件要上传服务器地址
function Get_FileUpPath()
{
return $this->mFileUpPath;
}
//得到文件上传所允许的最大字节
function Get_FileUpSize()
{
return $this->mFileUpSize;
}
//得到文件上传所允许的类型
function Get_FileUpType()
{
return $this->mFileUpType;
}
//********************** Check 区
文件太长。请从上面的链接下载..
献丑了,多提宝贵意见.