自己写的一个PHP上传类

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

主要功能:

文件上传,获取文件名,获取文件大小,随机生成新文件名,获取文件类型,图片生成缩略图,返回缩略图文件名,返回上传后生成的文件的文件名,返回上传后的文件路径

//----------------------------------------------------------------------

//转发时请保留此声明信息,这段声明不并会影响你的速度!

//******************* IEB上传类 v1.1 *********************************

//作者:卢韦华

//网站:http://www.iebsoft.cn//电子邮件:yagas60@21cn.com

//版权声明:版权所有,源代码公开,各种用途均可免费使用,但是修改后必须把修改后的文件

//发送一份给作者.

//***********************************************************************

//

class ieb_upload{

var $FormName; //文件域名称

var $Directroy; //上传至目录

var $MaxSize; //最大上传大小

var $CanUpload; //是否可以上传

var $doUpFile; //上传的文件名

var $sm_File; //缩略图名称

var $Error; //错误参数

function ieb_upload($formName='', $dirPath='', $maxSize=2097152) //(1024*2)*1024=2097152 就是 2M

{

global $FormName, $Directroy, $MaxSize, $CanUpload, $Error, $doUpFile, $sm_File;

//初始化各种参数

$FormName = $formName;

$MaxSize = $maxSize;

$CanUpload = true;

$doUpFile = '';

$sm_File = '';

$Error = 0;

if ($formName == ''){

$CanUpload = false;

$Error = 1;

break;

}

if ($dirPath == ''){

$Directroy = $dirPath;

}else{

$Directroy = $dirPath.'/';

}

}

//检查文件是否存在

function scanFile()

{

global $FormName, $Error, $CanUpload;

if ($CanUpload){

$scan = is_readable($_FILES[$FormName]['name']);

if ($scan){

$Error = 2;

}

return $scan;

}

}

//获取文件大小

function getSize($format = 'B')

{

global $FormName, $Error, $CanUpload;

if ($CanUpload){

if ($_FILES[$FormName]['size'] == 0){

$Error = 3;

$CanUpload = false;

}

switch ($format){

case 'B':

return $_FILES[$FormName]['size'];

break;

case 'M':

return ($_FILES[$FormName]['size'])/(1024*1024);

}

}

}

//获取文件类型

function getExt()

{

global $FormName, $Error, $CanUpload;

if ($CanUpload){

$ext=$_FILES[$FormName]['name'];

$extStr=explode('.',$ext);

$count=count($extStr)-1;

}

return $extStr[$count];

}

//获取文件名称

function getName()

{

global $FormName, $CanUpload;

if ($CanUpload){

return $_FILES[$FormName]['name'];

}

}

//新建文件名

function newName()

{

global $CanUpload, $FormName;

if ($CanUpload){

$FullName=$_FILES[$FormName]['name'];

$extStr=explode('.',$FullName);

$count=count($extStr)-1;

$ext = $extStr[$count];

return date('YmdHis').rand(0,9).'.'.$ext;

}

}

//上传文件

function upload($fileName = '')

{

global $FormName, $Directroy, $CanUpload, $Error, $doUpFile;

if ($CanUpload){

if ($_FILES[$FormName]['size'] == 0){

$Error = 3;

$CanUpload = false;

return $Error;

break;

}

}

if($CanUpload){

if ($fileName == ''){

$fileName = $_FILES[$FormName]['name'];

}

$doUpload=@copy($_FILES[$FormName]['tmp_name'], $Directroy.$fileName);

if($doUpload)

{

$doUpFile = $fileName;

chmod($Directroy.$fileName, 0777);

return true;

}else{

$Error = 4;

return $Error;

}

}

}

//创建图片缩略图

function thumb($dscChar='',$width=150,$height=113)

{

global $CanUpload, $Error, $Directroy, $doUpFile, $sm_File;

if ($CanUpload && $doUpFile != ''){

$srcFile = $doUpFile;

if ($dscChar == ''){

$dscChar = 'sm_';

}

$dscFile = $Directroy.$dscChar.$srcFile;

$data = getimagesize($Directroy.$srcFile,&$info);

switch ($data[2]) {

case 1:

$im = @imagecreatefromgif($Directroy.$srcFile);

break;

case 2:

$im = @imagecreatefromjpeg($Directroy.$srcFile);

break;

case 3:

$im = @imagecreatefrompng($Directroy.$srcFile);

break;

}

$srcW=imagesx($im);

$srcH=imagesy($im);

$ni=imagecreatetruecolor($width,$height);

imagecopyresized($ni,$im,0,0,0,0,$width,$height,$srcW,$srcH);

$cr = imagejpeg($ni,$dscFile);

chmod($dscFile, 0777);

if ($cr){

$sm_File = $dscFile;

return true;

}else{

$Error = 5;

return $Error;

}

}

}

//显示错误参数

function Err(){

global $Error;

return $Error;

}

//上传后的文件名

function UpFile(){

global $doUpFile, $Error;

if ($doUpFile != ''){

return $doUpFile;

}else{

$Error = 6;

}

}

//上传文件的路径

function filePath(){

global $Directroy, $doUpFile, $Error;

if ($doUpFile != ''){

return $Directroy.$doUpFile;

}else{

$Error = 6;

}

}

//缩略图文件名称

function thumbMap(){

global $sm_File

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航